この記事では、Excel VBAを用いてWord文書の中から特定のスタイルが適用されている部分だけをPDFとして保存する方法を詳しく解説します。また、この基本的な方法から更に進んだ応用例も3つ紹介します。
目次
基本的な手法
まずは、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の世界は広く、多様な処理を自動化することができるので、是非ともこの機会に挑戦してみてください。
コメント