「excel vba powerpointを開く」
といった検索キーワードで、このサイト『インストラクターのネタ帳』へ時折アクセスがあります。
PowerPointのプレゼンテーションファイルを開く、Excel VBAのコードについて調べていた方による検索です。
PowerPointのプレゼンテーションファイルを開くサンプル
Cドライブのtempフォルダーにsample.pptxファイルを置いて以下のSubプロシージャを実行すると、PowerPointが起動してC:\temp\sample.pptxファイルが開かれる様子を目視確認できます。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
- Newer:xlwtで数式を書き込む
- Older:python-pptxで全レイアウト名を取得する
Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Excel VBAでPowerPointファイルを開く