もめんの格闘日記

主にPowerPointを中心としたPCのTips的なものを書いています。

アクティブなプレゼンテーションを切り替えるマクロ

こんばんはもめんです。

今回は2つ以上のPowerPointファイルを開いている場合にアクティブなファイルを切り替えるマクロを紹介したいと思います。

マクロの途中で新しいプレゼンテーションを追加して、元々開いていたプレゼンテーションに切り替えたい!ってなったことがあったのでそのマクロです。

(windows10、PowerPoint2010で動作確認してます)

 

アクティブなプレゼンテーションを切り替える最も簡単なマクロ

Sub smaple1()

 

Presentations(1).Windows(1).Activate

Presentations(2).Windows(1).Activate

 

End Sub

簡単なものであれば上記でアクティブなプレゼンテーションが切り替えれます。

Presentations(1)、(2)はファイル名のアルファベット順になります。

 

新しいプレゼンテーションを追加して元のプレゼンテーションに切り替えるマクロ

Sub sample2()

Dim prs1 As Presentation
Dim prs2 As Presentation

Set prs1 = ActivePresentation
Set prs2 = Presentations.Add

prs1.Windows(1).Activate
ActiveWindow.View.GotoSlide 2

End Sub

上記のマクロでは新しいプレゼンテーションを追加して、その後元のプレゼンテーションのスライド2をアクティブな状態にしています。

新しいプレゼンテーションを追加した場合は、マクロ実行後に新しいプレゼンテーションにが表示されてます。

でも、ActiveWindow.View.GotoSlide 2の後にシェイプ追加とかすると、ちゃんとスライド2に追加されているのでご安心を。

 

僕は元々のプレゼンテーションの一部を新しいプレゼンテーションにコピーするというマクロを組んだ時に、このことを調べました。

アクティブなプレゼンテーションを切り替えることでActiveWindow.View.GotoSlideが使えます。

アクティブなスライドを切り替えることで、Selectメソッドが使えるのでコピーできます。

めでたしめでたし。

今回は以上です。ありがとうございました。