PowerPoint VBAでスライドを追加するAddSlideの使い方を知りたいときはないでしょうか。
けど、そんな中で悩むことは、
・PowerPoint VBAのAddSlideでスライドを追加したがうまくいかない
ですよね。
今回はそんなお悩みを解決する
・AddSlideメソッドを使う上での注意点
についてまとめます!
もくじ
PowerPoint VBAでスライドを追加する方法
PowerPoint VBAで新しいスライドを追加するには、AddSlideメソッドを使用します。
AddSlideメソッドは、スライドが追加されるスライドの位置やスライドのテンプレートを指定することができます。
AddSlideメソッドの構文
AddSlideメソッドの構文です。
expression.AddSlide(Index, CustomLayout)
expressionは、必須のオブジェクトです。PresentationオブジェクトまたはSlideRangeオブジェクトを指定します。
Indexは、新しいスライドが追加される位置を示す数値です。例えば、2を指定すると、2番目のスライドの後に新しいスライドが追加されます。
必須入力です。
CustomLayoutは、新しいスライドに使用するスライドのテンプレートを示すCustomLayout型の値です。
必須入力です。
参考:https://learn.microsoft.com/ja-jp/office/vba/api/powerpoint.slides.addslide
AddSlideメソッドでスライドを追加するための下準備
AddSlideメソッドでスライドを追加するための下準備をしていきましょう。
テンプレートとなるパワーポイントファイルを用意
まずはテンプレートとなるパワーポイントファイルを用意します。
表紙の他に中ページを追加した2スライド構成となります。
情報をまとめるExcelファイルを用意
今回はExcelからVBAを実行します。
実行元のExcelシートのセルにパワーポイントのスライド生成に必要な情報を入力していきます。
B1セルに必要なスライド数を、B2セルにテンプレートとなるパワーポイントファイルのパスを入力します。
Excelからパワーポイントを操作できるよう設定する
ExcelからパワーポイントをVBAで操作できるよう設定をしていきましょう。
①Excelを起動し、「開発」タブをクリックします。
②VBEの画面が開いたら、メニューから「ツール」>「参照設定」を選択します。
③「Microsoft PowerPoint XX.X Object Library」を探してチェックボックスにチェックし「OK」をクリックします。
PowerPointのスライドを追加するVBA
サンプルコード
PowerPoint VBAでスライドを追加するサンプルコードは以下の通りです。
Sub 新しいスライドを追加する()
Dim objPPTApp As PowerPoint.Application
Dim objPPTPres As PowerPoint.Presentation
Dim objPPTSlide As PowerPoint.Slide
Dim objPPTLayout As Object
Dim i As Integer
'Excel台帳の1スライド目を設定します。
With ThisWorkbook.Worksheets(1)
' PowerPointアプリケーションをセットします。
Set objPPTApp = CreateObject("PowerPoint.Application")
'Excel台帳のG1セルを元にPowerPointファイルを開きます。
Set objPPTPres = objPPTApp.Presentations.Open(.Range("B2").Value)
' PowerPointアプリケーションを表示します。
objPPTApp.Visible = True
'Excel台帳記載のセル生成数分処理を繰り返します。
For i = 1 To .Range("B1").Value
'テンプレートとなるスライドからレイアウトを取得します。
Set objPPTLayout = objPPTPres.Slides(2).CustomLayout
'PowerPointに2ページ以降にスライドを加えます。
Set objPPTSlide = objPPTPres.Slides.AddSlide(i + 2, objPPTLayout)
Next i
End With
End Sub
VBAの実装
VBAの実装方法については
VBAの実装手順
をご参照ください。
実行する
VBAを実行し表示されたパワーポイントをみてみましょう。
はい!パワーポイントへExcelに入力した数分のスライドが複製されましたね!
AddSlideメソッドを使う上での注意点
AddSlideメソッドを使う上での注意点について説明をします。
表紙スライドをテンプレートとして選択しないこと
表紙スライドをテンプレートとして選択しないよう注意してください。
表紙スライドをテンプレートとして選択した場合は表紙スライドが複製されてしまいます。
Set objPPTLayout = objPPTPres.Slides(1).CustomLayout
CustomLayoutは必ず引数指定する
CustomLayoutは省略できませんので、必ず引数に指定するよう注意しましょう。
省略した場合はコンパイルエラー「引数は省略できません」と表示されます。
Set objPPTSlide = objPPTPres.Slides.AddSlide(i + 2)
VBAの実装手順
実装手順は以下の通りです。
Excel側にVBAを実装していきます。
①Excelを新規に開き、「開発」タブをクリックし、「VisualBasic」をクリックします。
もしくはショートカットキー「Alt」+「F11」でもOKです。
②標準モジュールを追加します。
左ペインのVBAProjectを右クリックし、「挿入」、「標準モジュール」を選択します。
③右ペインのウインドウに上記のVBAを入力します。
こちらで完了です。
VBAを実行する
では早速VBAの実行をしてみましょう。
①「開発」タブの「VBA」をクリックし実行したいマクロを選択し、「実行」をクリックします。
②処理がされたことが確認できれば完了です。
さいごに
いかがでしょうか。
今回は、
・AddSlideメソッドを使う上での注意点
についてまとめました。
また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。
コメントを残す