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

VBAでアクティブでないPresentationを取得する

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

「パワーポイント vba アクティブ以外のプレゼンテーション」
といった検索でアクセスがありました。

PowerPoint VBAでは、拙著『いちばんやさしいPowerPoint VBAの教本』でも繰り返し使っているActivePresentationプロパティで、

アクティブなプレゼンテーションを表すPresentationオブジェクトを取得できます。

「パワーポイント vba アクティブ以外のプレゼンテーション」
と検索なさった方は、このActivePresentationプロパティで取得できない、アクティブではないPresentationを取得するにはどうすればいいのかを探していらしたのでしょう。

アクティブではないプレゼンテーションは複数の場合があり得ますから、ここではFor Each~Nextループを使って、アクティブではないPresentationを順番に取得するPowerPoint VBAのコードをご紹介します。

アクティブでないPresentationの名前を取得するサンプルマクロ

以下のPowerPointマクロを実行すると、アクティブではないプレゼンテーションの名前が順番にメッセージボックスに表示されます。

Sub アクティブでないプレゼンテーションの名前を順番に取得する()
 Dim prs As Presentation
 For Each prs In Presentations
  If Not (prs Is ActivePresentation) Then
   MsgBox prs.Name
  End If
 Next
End Sub

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

上記のPowerPointマクロで行っている処理は以下のとおりです。

開いている全プレゼンテーションを表すPresentationsコレクションに対しFor Each~Nextループを回し、

Dim prs As Presentation
For Each prs In Presentations

取得したPresentationオブジェクトが、ActivePresentationプロパティで取得したPresentationオブジェクトと異なってることを、VBAのIs演算子とNot演算子を組み合わせて判定しています。

 If Not (prs Is ActivePresentation) Then

アクティブなPresentationではなかった場合に、Presentation.Nameプロパティで取得した名前をメッセージボックスに表示しています。

  MsgBox prs.Name

最終更新日時:2022-07-05 15:15

[スポンサードリンク]

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

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

検索


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

.