Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Presentation・プレゼンテーション » プレゼンテーション名でPresentationを取得する

プレゼンテーション名でPresentationを取得する

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

検索キーワード「パワーポイント vba アクティブ以外のプレゼンテーション」をきっかけにして、アクティブではないPresentationを、For Each~Nextループで順番に取得するPowerPoint VBAのコードをご紹介しました。

もしかすると、
「パワーポイント vba アクティブ以外のプレゼンテーション」
と検索なさった方は、プレゼンテーションの名前を使ってPresentationを取得できることを、ご存知なかったのかもしれません。

プレゼンテーション名でPresentationを取得するサンプルマクロ

プレゼンテーション名(ファイル名)を指定して、Presentationオブジェクトを取得するサンプルをご紹介しておきます。

Sub プレゼンテーションを名前で取得する()
Const PRS_NAME = "sample.pptx"

On Error GoTo ErrHandl

 Dim prs As Presentation
 Set prs = Presentations.Item(PRS_NAME)
 MsgBox prs.Slides.Count

Exit Sub
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

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Presentation・プレゼンテーション » プレゼンテーション名でPresentationを取得する

「Presentation・プレゼンテーション」の記事一覧

検索


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

.