PowerPointのノートページをExcel VBAでPDF保存する方法と応用例

この記事では、Excel VBAを利用してPowerPointのノートページをPDFで保存する方法について詳しく解説します。初心者でも理解しやすいように具体的なコード例とその解説、さらに応用例を含めてご紹介します。

目次

Excel VBAの基本

Excel VBA(Visual Basic for Applications)は、Microsoft Excelに組み込まれたプログラミング言語です。これを用いると、単純作業の自動化だけでなく、高度なデータ分析やレポート作成も可能になります。

そもそも、どこにVBAコードを書いて、どう実行すれば良いのか分からない場合は、以下の記事をご参照ください。

基本のコード

PowerPointのノートページをPDFとして保存するための基本的なVBAコードは以下の通りです。


Sub SaveNotesAsPDF()
    Dim pptApp As Object
    Dim pptPres As Object
    Dim savePath As String

    ' PowerPoint アプリケーションを開始
    Set pptApp = CreateObject("PowerPoint.Application")
    Set pptPres = pptApp.Presentations.Open("C:\path\to\your\presentation.pptx")

    ' PDFとして保存
    savePath = "C:\path\to\save\notes.pdf"
    pptPres.ExportAsFixedFormat savePath, 2, , , , , , , , 1

    ' 終了
    pptPres.Close
    Set pptPres = Nothing
    pptApp.Quit
    Set pptApp = Nothing
End Sub

コード解説

1. `Dim`を使って必要な変数を宣言します。
2. PowerPointのアプリケーションとプレゼンテーションを開きます。
3. `ExportAsFixedFormat` メソッドを使用して、指定したパスにPDFとして保存します。この際、ノートページを指定するために最後の引数に`1`を渡します。
4. 終了処理を行います。

応用例

以下は、上記の基本的なコードをさらに応用した例をいくつかご紹介します。

応用例1: 複数のPowerPointファイルを一括でPDFに変換


Sub ConvertMultiplePPTtoPDF()
    Dim pptApp As Object
    Dim pptPres As Object
    Dim folderPath As String
    Dim pptFile As String
    Dim savePath As String
    folderPath = "C:\path\to\your\folder\"
    pptFile = Dir(folderPath & "*.pptx")
    ' PowerPoint アプリケーションを開始
    Set pptApp = CreateObject("PowerPoint.Application")
    Do While pptFile <> ""
        Set pptPres = pptApp.Presentations.Open(folderPath & pptFile)
        savePath = folderPath & Replace(pptFile, ".pptx", ".pdf")
        pptPres.ExportAsFixedFormat savePath, 2, , , , , , , , 1
        pptPres.Close
        pptFile = Dir
    Loop
    pptApp.Quit
    Set pptApp = Nothing
End Sub

応用例2: ノートページだけでなくスライドもPDFに保存


Sub SaveSlidesAndNotesAsPDF()
    Dim pptApp As Object
    Dim pptPres As Object
    Dim savePath As String

    ' PowerPoint アプリケーションを開始
    Set pptApp = CreateObject("PowerPoint.Application")
    Set pptPres = pptApp.Presentations.Open("C:\path\to\your\presentation.pptx")

    ' スライドとノートページをPDFとして保存
    savePath = "C:\path\to\save\slides_and_notes.pdf"
    pptPres.ExportAsFixedFormat savePath, 2

    ' 終了
    pptPres.Close
    pptApp.Quit
    Set pptApp = Nothing
End Sub

応用例3: 保存時にパスワードを設定

注意: この方法は、保存後にPDFを開く際にパスワードが必要となります。


Sub SaveWithPassword()
    Dim pptApp As Object
    Dim pptPres As Object
    Dim savePath As String
    Dim pdfPassword As String

    ' PowerPoint アプリケーションを開始
    Set pptApp = CreateObject("PowerPoint.Application")
    Set pptPres = pptApp.Presentations.Open("C:\path\to\your\presentation.pptx")

    ' PDFとして保存
    savePath = "C:\path\to\save\notes_protected.pdf"
    pdfPassword = "your_password"
    pptPres.ExportAsFixedFormat savePath, 2, , , , , , pdfPassword, , 1

    ' 終了
    pptPres.Close
    pptApp.Quit
    Set pptApp = Nothing
End Sub

まとめ

Excel VBAを利用することで、PowerPointのノートページを簡単にPDFとして保存することができます。基本のコードを理解した上で、さまざまな応用例を試すことで、より効率的な作業を実現できるでしょう。今後もVBAを活用して、日常業務の効率化を図ってみてはいかがでしょうか。

VBAも良いけどパワークエリも良い

VBAの解説をしてきましたが、VBAは正直煩雑でメンテナンス性が悪いです。最近はモダンExcelと呼ばれるパワークエリやパワーピボットへのシフトが進んできています。本サイトでもパワークエリの特集をしており、サンプルデータを含む全11回の学習コンテンツでパワークエリを習得することができます。

クリックするとパワークエリの全11講座が表示されます。

パワーピボットの記事はありません。興味がある場合は、書籍で学んでみてください

コメント

コメントする

目次