Excel VBAを使用して、Word文書の特定スタイル部分のみをPDFで保存する方法

この記事では、Excel VBAを用いてWord文書の中から特定のスタイルが適用されている部分だけをPDFとして保存する方法を詳しく解説します。また、この基本的な方法から更に進んだ応用例も3つ紹介します。

目次

Excel VBAの基本

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

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

基本的な手法

まずは、Excel VBAを用いてWord文書の特定のスタイルが適用された部分をPDFとして保存する基本的な手法について説明します。


Sub SaveStyleAsPDF()

    Dim wdApp As Object
    Dim wdDoc As Object
    Dim rng As Object
    Dim pdfPath As String
    
    ' Word アプリケーションを開く
    Set wdApp = CreateObject("Word.Application")
    wdApp.Visible = True
    
    ' Word 文書を開く
    Set wdDoc = wdApp.Documents.Open("C:\path\to\your\document.docx")

    ' 特定のスタイルを持つ範囲を選択
    For Each rng In wdDoc.StoryRanges
        If rng.Style = "YourSpecificStyleName" Then
            rng.Select
            pdfPath = "C:\path\to\save\document.pdf"
            ' PDF として保存
            wdApp.ActiveDocument.ExportAsFixedFormat pdfPath, 17  ' 17 は PDF のフォーマット
            Exit For
        End If
    Next

    ' Word を閉じる
    wdDoc.Close
    wdApp.Quit

    Set rng = Nothing
    Set wdDoc = Nothing
    Set wdApp = Nothing

End Sub

このコードでは、指定したWord文書を開き、特定のスタイルが適用されている範囲を検索します。その範囲を選択した後、その内容をPDFとして保存します。

応用例

応用例1: 複数のスタイルを持つ範囲を一つのPDFにまとめて保存


' 上記の基本的な手法のコードを基に、複数のスタイルを検索し、
' それらの範囲を一つの新しいWord文書にコピーしてからPDFとして保存するコードを追加します。
' 省略...

応用例2: 特定のスタイルの範囲をPDFとしてメールで送信


' WordからPDFを作成後、Outlookを使用してそのPDFを添付してメール送信するコードを追加します。
' 省略...

応用例3: 特定のスタイルの部分を別のスタイルに変更してからPDF保存


' 指定したスタイルの範囲を別のスタイルに変更し、その後にPDFとして保存するコードを追加します。
' 省略...

まとめ

Excel VBAを使用してWord文書から特定のスタイルが適用されている部分のみをPDFで保存する方法を学びました。これを基に、より高度な処理や応用も考えることができます。VBAの世界は広く、多様な処理を自動化することができるので、是非ともこの機会に挑戦してみてください。

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

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

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

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

コメント

コメントする

目次