Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Excel VBAでPowerPointにスライドを追加する

Excel VBAでPowerPointにスライドを追加する

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

PowerPoint.PpSlideLayout.ppLayoutText

「エクセルvba パワーポイント スライド追加 ppLayoutText」
といった検索キーワードでアクセスがありました。

PowerPointにスライドを追加するサンプル

プレゼンテーションファイルが開いた状態で、以下のExcelマクロを実行してみてください。

Sub PowerPointプレゼンテーションにスライドを挿入する()
On Error GoTo ErrHandl 

 Const ppLayoutText = 2

 With GetObject(Class:="PowerPoint.Application")
  .ActivePresentation.Slides.Add Index:=1, Layout:=ppLayoutText
 End With

Exit Sub
ErrHandl:
 Select Case Err.Number
  Case 429
   MsgBox "PowerPointが起動していないようです。"
  Case -2147188160
   MsgBox "PowerPointファイルが開かれていないようです。"
  Case Else
   MsgBox Err.Description & vbCrLf & Err.Number
 End Select
 Err.Clear

End Sub

プレゼンテーションファイルの先頭に、ppLayoutTextレイアウトのスライドが挿入されます。

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

上記のSubプロシージャは、参照設定が行われていないことを想定し、ppLayoutTextを最初に定義しています。

Const ppLayoutText = 2

定数ppLayoutTextの実際の値が「2」であることは、オブジェクトブラウザーの詳細ペインで確認できます。

PowerPoint.PpSlideLayout.ppLayoutText

VBAのGetObject関数を使って、起動済みPowerPoint.Applicationへの参照を取得して、

 With GetObject(Class:="PowerPoint.Application")

PowerPointのSlides.Addメソッドを使って、先頭(Index:=1)に、ppLayoutTextレイアウトのスライドを挿入しています。

  .ActivePresentation.Slides.Add Index:=1, Layout:=ppLayoutText

この、SlidesコレクションのAddメソッドを使ったコードは、拙著『いちばんやさしいPowerPoint VBAの教本』の、「Lesson 29 Slideを追加するメソッドについて学習しましょう」でも解説している、実質的にPowerPoint VBAのコードです。

最終更新日時:2021-06-29 02:41

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Excel VBAでPowerPointにスライドを追加する

「Office連携」の記事一覧

検索


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

.