「ExcelVBA パワーポイント スライド ウィンドウサイズに合わせる」
という検索キーワードでアクセスがありました。
Excel VBAから、上図のようなPowerPointの[ウィンドウに合わせる]コマンドを実行するには、どのようなコードを書けばいいのかを探していらしたのでしょう。
Excel VBAでPowerPointのスライドをウィンドウに合わせるサンプル
PowerPointで何らかのプレゼンテーションファイルを開いておいてから、以下のExcelマクロを実行してみてください(参照設定は不要です)。
On Error GoTo ErrHandl
Const ppViewNormal = 9
With GetObject(Class:="PowerPoint.Application")
With .ActiveWindow
.ViewType = ppViewNormal
.View.ZoomToFit = msoTrue
End With
End With
ErrHandl:
Select Case Err.Number
Case 429
MsgBox "PowerPointが起動していないようです。"
Case Else
MsgBox Err.Description & vbCrLf & Err.Number
End Select
Err.Clear
End Sub
上記のSubプロシージャには、Excel VBAと言える部分はまったくありませんから、Access VBAからでもWord VBAからでも実行できます。
サンプルマクロで行っている処理について
PowerPoint VBAでは、「ActiveWindow.View.ZoomToFit = msoTrue」というコードで[ウィンドウに合わせる]の実行になることを、ご紹介しています。
この「ActiveWindow.View.ZoomToFit = msoTrue」を、Excel VBA等からでも実行できるようにしたのが、上記のSubプロシージャです。
行っている処理内容は以下の通りです。
定数の宣言
最初に、参照設定なしでも実行できるように、PowerPointのPpViewType列挙型に定義されている定数ppViewNormalと同じ名前で、
定数を宣言しています。
Const ppViewNormal = 9
PowerPoint.Applicationへの参照取得
つづいて、VBAのGetObject関数で、
起動済みPowerPoint.Applicationへの参照を取得しています。
With GetObject(Class:="PowerPoint.Application")
この後は、実質的にPowerPoint VBAのコードです。
DocumentWindow.View.ZoomToFitを利用
PowerPointのApplication.AcitveWindowプロパティで、
Powerpoint.DocumentWindowオブジェクトを取得し、
With .ActiveWindow
DocumentWindow.ViewTypeプロパティに、
最初に定義した定数ppViewNormalを設定することで[標準表示]モードにしてから、
.ViewType = ppViewNormal
ViewオブジェクトのZoomToFitプロパティに、
msoTrueを設定しています。
.View.ZoomToFit = msoTrue
最終更新日時:2022-01-06 14:14
Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Excel VBAでPowerPointのスライドをウィンドウに合わせる