見出し画像

PDFを開く

 Excel VBAでPDFを開くには、主に以下の2つの方法があります。

方法1:Shellオブジェクトを使う

 最も簡単な方法は、Shellオブジェクトを使う方法です。

VBA
Sub OpenPDF(strFilePath As String)
' Shellオブジェクトを作成
Dim Shell As Object
Set Shell = CreateObject("Shell.Application")

' PDFファイルを指定して開く
ShellExecute Shell, strFilePath, "", vbNormalFocus
End Sub
コードは注意してご使用ください。

 上記コードを実行するには、strFilePath変数に開きたいPDFファイルのパスを設定する必要があります。

方法2:Wordオブジェクトを使う

 Wordオブジェクトを使う方法は、PDFファイルをWordで開いてから、その内容をExcelに取り込む方法です。
 この方法では、PDFファイルのテキストデータだけでなく、書式や画像なども取り込むことができます。

VBA
Sub OpenAndConvertPDF(strFilePath As String)
' Wordオブジェクトを作成
Dim WordApp As Object
Set WordApp = CreateObject("Word.Application")

' PDFファイルをWordで開く
Dim WordDoc As Object
Set WordDoc = WordApp.Documents.Open(strFilePath)

' Word文書の内容をExcelシートに貼り付ける
Dim ExcelSheet As Object
Set ExcelSheet = ThisWorkbook.Worksheets("Sheet1") ' 開きたいシート名を変更する
ExcelSheet.Range("A1").PasteSpecial xlPasteText

' WordとWord文書を閉じる
WordDoc.Close
WordApp.Quit
End Sub
コードは注意してご使用ください。

 上記コードを実行するには、strFilePath変数に開きたいPDFファイルのパスを設定する必要があります。
 また、貼り付け先のExcelシートとセルの範囲も変更する必要があります。

補足

 上記のコードはあくまで一例です。必要に応じて、エラー処理や引数の追加などを行ってください。
 PDFファイルをWordで開くには、Wordがインストールされている必要があります。
 PDFファイルの内容によっては、正しく取り込めない場合があります。

参考資料

【永久保存版】VBAからPDFを操作する6つの方法を徹底解説! | 侍エンジニアブログ: https://www.sejuku.net/blog/99185
VBAでPDFファイルを開く方法とは?使いどころも徹底解説! | 侍エンジニアブログ: https://www.sejuku.net/blog/99111
簡単マクロ!PDFデータのExcel一括取り込み(指定フォルダの全PDF対象): https://excel.syogyoumujou.com/vba/get_pdfdata.html
上記以外にも、様々な方法でExcel VBAからPDFを開くことができます。

この記事が気に入ったらサポートをしてみませんか?