Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Excel VBAでPowerPointのスライドをウィンドウに合わせる

Excel VBAでPowerPointのスライドをウィンドウに合わせる

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

「ExcelVBA パワーポイント スライド ウィンドウサイズに合わせる」
という検索キーワードでアクセスがありました。

Excel VBAから、上図のようなPowerPointの[ウィンドウに合わせる]コマンドを実行するには、どのようなコードを書けばいいのかを探していらしたのでしょう。

Excel VBAでPowerPointのスライドをウィンドウに合わせるサンプル

PowerPointで何らかのプレゼンテーションファイルを開いておいてから、以下のExcelマクロを実行してみてください(参照設定は不要です)。

Sub PowerPointの表示をウィンドウに合わせる()
On Error GoTo ErrHandl

 Const ppViewNormal = 9

 With GetObject(Class:="PowerPoint.Application")
  With .ActiveWindow
   .ViewType = ppViewNormal
   .View.ZoomToFit = msoTrue
  End With
 End With

Exit Sub
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のスライドをウィンドウに合わせる

「Office連携」の記事一覧

検索


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

.