「パワーポイント vba アクティブ以外のプレゼンテーション」
といった検索でアクセスがありました。
PowerPoint VBAでは、拙著『いちばんやさしいPowerPoint VBAの教本』でも繰り返し使っているActivePresentationプロパティで、
アクティブなプレゼンテーションを表すPresentationオブジェクトを取得できます。
「パワーポイント vba アクティブ以外のプレゼンテーション」
と検索なさった方は、このActivePresentationプロパティで取得できない、アクティブではないPresentationを取得するにはどうすればいいのかを探していらしたのでしょう。
アクティブではないプレゼンテーションは複数の場合があり得ますから、ここではFor Each~Nextループを使って、アクティブではないPresentationを順番に取得するPowerPoint VBAのコードをご紹介します。
アクティブでないPresentationの名前を取得するサンプルマクロ
以下のPowerPointマクロを実行すると、アクティブではないプレゼンテーションの名前が順番にメッセージボックスに表示されます。
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
- Newer:セル全体に取り消し線が引かれているかVBAで判定する
- Older:Word VBAで文書の末尾に文字を追加する
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Presentation・プレゼンテーション » VBAでアクティブでないPresentationを取得する