「Slides.Add layout =12」
のといった検索キーワードで、時折アクセスがあります。
プレゼンテーションファイルに白紙スライドを挿入するサンプルマクロ
以下のようなExcelマクロをどこかでご覧になったのかもしれません。
On Error GoTo ErrHandl
With GetObject(Class:="PowerPoint.Application")
.ActivePresentation.Slides.Add Index:=1, Layout:=12
End With
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とは