おすすめパワポ本12選!プロから学ぶ資料作成術

【パワポVBA】複数のPPTXファイルを1つに結合するマクロ

PowerPoint VBAを使い、複数のPPTXファイルを1つのファイルに結合するマクロをご紹介します。

バラバラのファイルをまとめて印刷したいときや、1つのPDFに書き出したいときに有効です。

もうコピペを繰り返す必要はありません。

コードは神AI「ChatGPT」で開発しました。ChatGPTについては、次の記事で解説しています。

神AI「ChatGPT」でパワポVBAを開発【始め方から解説】
ChatGPTとは、質問を投げると人工知能が回答してくれるチャットサービスです。Excelでの数式や…
スポンサーリンク
スポンサーリンク

複数のPPTXファイルを1つのファイルにまとめるマクロ

コード

Sub MergeFiles()

    '変数の宣言
    Dim pptApp As PowerPoint.Application
    Dim pptPres As PowerPoint.Presentation
    Dim pptSlides As PowerPoint.Slides
    Dim pptSlide As PowerPoint.Slide
    Dim pptFile As String
    Dim i As Integer

    '新しいPowerPointアプリケーションを作成する
    Set pptApp = New PowerPoint.Application

    'pptxファイルのパスを指定する
    pptFile = "C:¥MyFolder¥1.pptx"

    'pptxファイルを読み込む
    Set pptPres = pptApp.Presentations.Open(pptFile)

    '各pptxファイルを読み込む
    For i = 2 To 3
        'pptxファイルのパスを指定する
        pptFile = "C:¥MyFolder¥" & i & ".pptx"

        'pptxファイルを読み込む
        pptPres.Slides.InsertFromFile pptFile, pptPres.Slides.Count
    Next i

    '結合したプレゼンテーションを保存する
    pptPres.SaveAs "C:¥MyFolder¥MergeFiles.pptx"

End Sub

マクロの使い方は、次の記事で解説しています。

PowerPointマクロ入門 | コピペで始める楽々コース
PowerPointでマクロを始めたいけど、難しそうでよく分からないという方向けの入門編です。PPD…

パスの設定

pptFile = "C:¥MyFolder¥1.pptx"
pptFile = "C:¥MyFolder¥" & i & ".pptx"

上記コードの「C:¥MyFolder」を連結させたいファイルが格納されているフォルダまでのパスに変更します。2つとも同じ場所になります。

pptPres.SaveAs "C:¥MyFolder¥MergeFiles.pptx"

続いて、上記コードの「C:¥MyFolder」を連結させたファイルを保存したいフォルダまでのパスに変更します。動作確認では連結させたいファイルを格納しているフォルダに保存する設定にしています。

「MergeFiles」の部分が連結したファイルのファイル名になるので好きな名前に変更可能です。

パスの取得方法は「Shift」キーを押しながらフォルダを右クリック →「パスのコピー」で行います。

連結させるファイル数の設定

For i = 2 To 3

上記コードの「3」の値を連結させるファイル数に変更します。動作確認では3つのファイルを連結させるので「3」に設定しています。

実行結果

上図のように連結したいファイルを1つのフォルダに格納し、ファイル名を連結したい順に半角数字の連番にします。今回は、3つのファイルを連結させます。

  • 連結するファイルのスライドサイズは統一させましょう。バラバラのサイズでも実行可能ですが、1つ目に読み込んだファイルのスライドサイズで統一されます。

マクロを実行すると、ファイルが連結された状態の新規ファイルが生成されます。

保存先に指定したフォルダを確認すると結合された「MergeFiles.pptx」という名前のファイルが保存されています。

各スライドを別々のファイルに分けて保存するマクロ

別々のファイルに分かれたスライドを1つに結合したいときもあれば、各スライドを別々のファイルに分けたいときもあります。

各スライドを別々のファイルに分けて保存したいときは次のマクロを使いましょう!

【パワポVBA】各スライドを別々のファイルに分けて保存するマクロ
PowerPoint VBAを使い、各スライドを1スライドずつ別々のファイルに分け、指定フォルダに…