PDFをExcelに取り込む!VBAで業務効率化を目指そう

こんにちは!大阪市を拠点に活動している『縁紡ぐ』の稲垣です。

SWELLを使ったホームページ制作や、Excel、ACCESS、RPAなどのシステム開発を行っています。
また、Excel、Word、Outlookの研修や、情報セキュリティ研修も行っています。身近なITの相談相手になりたいと思っています。

お気軽にお問い合わせください。

目次

概要

今回は、お客様がPDFファイルを見ながらWebシステムへ入力作業している仕事があるのですが、PDFのあっちやこっちを見ないと入力する項目が拾えないということで、何とか効率化したいということでご依頼があり作成しました。

今回は、その全体の一部分ですが、PDFファイルの内容をExcelに無料で簡単に取り込む方を紹介します。VBA初心者でも安心して使えるコードを解説しながら、業務の効率化に役立つポイントをお伝えします。

PDFをExcelに取り込む理由

PDFファイルは便利ですが、データを活用するにはExcelに取り込む必要がありますよね。手作業で入力すると間違いが起きる可能性があるので、チェック作業まで発生します。

ただ、それを手動でコピペしたら、複数ページあるのに1ページだけやってしまったり、時間がかかるし、ミスも起こりやすい。そこで、VBAを使って自動化することで、業務の効率化が図れます。

VBAコードの解説

以下のVBAコードを使って、PDFファイルをExcelに取り込むことができます。

ポイント

先にポイントして紹介しておきます。

PDFファイルは、Wordで開いてからExcelに貼り付けると、もとの体裁を維持しやすくなります!

なので、今回は

PDF➡Wordで開く➡WordからExcelに貼り付ける

という流れになります。

Sub ImportPDFtoExcel()
    Dim pdfFilePath As String
    Dim wordApp As Object
    Dim wordDoc As Object
    Dim excelSheet As Worksheet

    ' PDFファイルを選択するダイアログを表示
    pdfFilePath = Application.GetOpenFilename("PDF Files (*.pdf), *.pdf", , "PDFファイルを選択")
    
    ' ユーザーがキャンセルを押した場合
    If pdfFilePath = "False" Then Exit Sub

    ' Wordアプリケーションを作成
    Set wordApp = CreateObject("Word.Application")

    ' PDFをWordで開く
    Set wordDoc = wordApp.Documents.Open(pdfFilePath)

    ' 新しいExcelシートを取得
    Set excelSheet = ThisWorkbook.Sheets(1)

    ' Wordの全内容を選択してコピー
    wordDoc.Content.Select
    wordApp.Selection.Copy

    ' Excelシートに貼り付け
    excelSheet.Range("A1").PasteSpecial DataType:=xlPasteText

    ' Wordドキュメントを閉じる
    wordDoc.Close False
    wordApp.Quit

    ' オブジェクトの解放
    Set wordDoc = Nothing
    Set wordApp = Nothing

    MsgBox "PDFの内容をExcelにコピーしました。"
End Sub

注意点

Wordがインストールされていないと使えないの

はい、Wordがないと使えませんのでご注意ください。

処理速度

PDFファイルをWordで開くには時間がかかります。なので処理に時間がかかります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次