検索キーワード「パワーポイント vba アクティブ以外のプレゼンテーション」をきっかけにして、アクティブではないPresentationを、For Each~Nextループで順番に取得するPowerPoint VBAのコードをご紹介しました。
もしかすると、
「パワーポイント vba アクティブ以外のプレゼンテーション」
と検索なさった方は、プレゼンテーションの名前を使ってPresentationを取得できることを、ご存知なかったのかもしれません。
プレゼンテーション名でPresentationを取得するサンプルマクロ
プレゼンテーション名(ファイル名)を指定して、Presentationオブジェクトを取得するサンプルをご紹介しておきます。
Const PRS_NAME = "sample.pptx"
On Error GoTo ErrHandl
Dim prs As Presentation
Set prs = Presentations.Item(PRS_NAME)
MsgBox prs.Slides.Count
ErrHandl:
Select Case Err.Number
Case -2147188160
MsgBox PRS_NAME & " は開かれていません。"
Case Else
MsgBox Err.Description & vbCrLf & Err.Number
End Select
Err.Clear
End Sub
「sample.pptx」という名前のプレゼンテーションファイルが開かれている状態で上記のPowerPointマクロを実行すると、「sample.pptx」プレゼンテーションを表すPresentationオブジェクトを取得でき、含まれるスライドの枚数がメッセージボックスに表示されます。
サンプルマクロで行っている処理
拙著『いちばんやさしいPowerPoint VBAの教本』の、「Lesson 17 Presentationsについて学習しましょう」でもお伝えしているとおり、グローバルメンバーのPresentationsプロパティを使うと、
コードの実行時に開かれている全プレゼンテーションを表すPresentationsコレクションを取得できます。
拙著の「Lesson 18 PresentationsからPresentationを取得するコードを理解しましょう」でも解説しているとおり、Presentationsコレクションに用意されているItemメソッドの引数Indexには、
ファイル名を指定して、単独のプレゼンテーションを表すPresentationオブジェクトを取得できます。
上記のサンプルマクロでは、定数PRS_NAMEを使って
Const PRS_NAME = "sample.pptx"
Presentations.Itemメソッドの引数を指定しています。
Dim prs As Presentation Set prs = Presentations.Item(PRS_NAME)
ItemメソッドはPresentationsコレクションの既定メンバーですから
Set prs = Presentations.Item(PRS_NAME)
の部分は「.Item」を省略して、
Set prs = Presentations(PRS_NAME)
と書くこともできます。
最終更新日時:2022-07-05 16:00
- Newer:Excelで○日以上前の日付かを判定するには
- Older:非表示の行番号をVBAで調べる
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Presentation・プレゼンテーション » プレゼンテーション名でPresentationを取得する