Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Slides.Add Layout:=12とは

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

「Slides.Add layout =12」
のといった検索キーワードで、時折アクセスがあります。

プレゼンテーションファイルに白紙スライドを挿入するサンプルマクロ

以下のようなExcelマクロをどこかでご覧になったのかもしれません。

Sub 起動済みプレゼンテーションファイルに白紙スライドを挿入する()
On Error GoTo ErrHandl

 With GetObject(Class:="PowerPoint.Application")
  .ActivePresentation.Slides.Add Index:=1, Layout:=12
 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

PowerPointのプレゼンテーションファイルが開かれている状態で上記のExcelマクロを実行すると、プレゼンテーションファイルの先頭に白紙のスライドが挿入されます。

Layout:=12はLayout:=ppLayoutBlankと同じ

拙著『いちばんやさしいPowerPoint VBAの教本』の「Lesson 29 Slideを追加するメソッドについて学習しましょう」で、

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

というPowerPoint VBAのコードで、アクティブなプレゼンテーションファイルの先頭に空白スライドが挿入できることを解説しています。

上記Excelマクロの、

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

は、PowerPoint VBAの「ActivePresentation.Slides.Add Index:=1, Layout:=ppLayoutBlank」と実質的に同じです。

ExcelでPowerPointへの参照設定が行われている環境であれば、「.ActivePresentation.Slides.Add Index:=1, Layout:=12」の部分は、

PowerPointで定義されている上図のような定数ppLayoutBlankを使って、

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

と書くこともできますが、参照設定されていないことを考慮して、定数ppLayoutBlankの実際の値「12」を使って、「Layout:=12」としていたように思えます。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Slides.Add Layout:=12とは

「Office連携」の記事一覧

検索


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

.