Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Excel VBAでPowerPointファイルを開く

Excel VBAでPowerPointファイルを開く

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel・PowerPoint(バージョン2001 ビルド12430.20264 Microsoft Store)

「excel vba powerpointを開く」
といった検索キーワードで、このサイト『インストラクターのネタ帳』へ時折アクセスがあります。

PowerPointのプレゼンテーションファイルを開く、Excel VBAのコードについて調べていた方による検索です。

PowerPointのプレゼンテーションファイルを開くサンプル

Cドライブのtempフォルダーにsample.pptxファイルを置いて以下のSubプロシージャを実行すると、PowerPointが起動してC:\temp\sample.pptxファイルが開かれる様子を目視確認できます。
Sub プレゼンテーションファイルを開く()
 With CreateObject("PowerPoint.Application")
  .Visible = msoTrue
  .Presentations.Open "C:\temp\sample.pptx"
 End With
End Sub

上記のコードはExcel VBAと呼べる部分が含まれていないコードですから、例えば、WordからVBEを表示して標準モジュールにこのままコピー&ペーストしても、PowerPointが起動してC:\temp\sample.pptxファイルが開かれます。

サンプルマクロで行っている処理

拙著『いちばんやさしいPowerPoint VBAの教本』の、Lesson55「全タイトルをExcelに出力するマクロを作りましょう」でも利用している、VBAのCreateObject関数でPowerPointを起動して、
  With CreateObject("PowerPoint.Application")

PowerPointのApplication.Visibleプロパティに定数msoTrueを設定することで、PowerPointを見える状態にし、
   .Visible = msoTrue

拙著のLesson 19「プレゼンテーションを作成、開くメソッドを学習しましょう」でもお伝えしている、PowerPointのPresentationsコレクションが持つOpenメソッドの引数に "C:\temp\sample.pptx" を指定することでC:\temp\sample.pptxファイルを開いています。
   .Presentations.Open "C:\temp\sample.pptx"

Application.Visbleをオブジェクトブラウザーで確認しましょう

上記のSubプロシージャで利用しているPowerPointのPresentations.Openメソッドは、拙著のLesson 20「Presentationsコレクションをオブジェクトブラウザーで確認しましょう」で、どのように定義されているかを確認しています。

同様にPowerPointからVBEを起動してオブジェクトブラウザーを使い、PowerPointのApplication.Visbleプロパティも確認しておきましょう。

ちなみに、Visibleプロパティは多くのApplicationオブジェクトに用意されており、Excel側にも存在しています。

ExcelのApplication.Visbleプロパティは戻り値が「As Boolean」と定義されており、(現実的には同じですが)厳密には定義が微妙に異なることも、あわせてご確認ください。

ステップ実行してイメージしましょう

上記のSubプロシージャをステップ実行して、空っぽのPowerPointが起動している様子と、C:\temp\sample.pptxファイルが開かれる様子を確認しましょう。

まず、
  With CreateObject("PowerPoint.Application")
   .Visible = msoTrue
までステップ実行すると、プレゼンテーションファイルが開かれていない状態のPowerPointが起動している状態が見えます。
オブジェクトブラウザーで確認した、PowerPointのApplication.VisbleプロパティにmsoTrueが設定されたので、空っぽのPowerPointがパソコン上に表示されたことを、意識してください。

続く、
   .Presentations.Open "C:\temp\sample.pptx"
が実行されるとC:\temp\sample.pptxが開かれます。
Presentations.Openメソッドの引数に "C:\temp\sample.pptx" が指定されたので、C:\temp\sample.pptxファイルが開かれたことを、しっかりと意識してください。

最終更新日時:2020-03-03 15:26

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Excel VBAでPowerPointファイルを開く

「Office連携」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.