VBAを使用してPDFからExcelに特定のデータを抽出する方法

  • これを共有
Hugh West

私たちの多くが日常生活で直面する共通の問題の1つは、ある特定のデータを PDF を使用してExcelワークシートに変換します。 ブイビーエー 今回は、その快適な実現方法を、適切な例と図解で紹介します。

VBAを使用してPDFからExcelに特定のデータを抽出する(クイックビュー)

 Sub Extract_Data_from_PDF() Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program FilesAdobeAcrobat DCAcrobat.exe" PDF_Path = "E:\ExcelWIKIstandardnormaltable.pdf" Shell_Path = Application_Path & """ & PDF_Path &""" Call Shell(pathname:=Shell_Path, windowstyle:=vbNormalFocus) Application.Wait Now + TimeValue("0:00:03") SendKeys "%vpc"SendKeys "^a" SendKeys "^c" MyWorksheet.Range("A1").PasteSpecial Paste:=xlPasteAll Call Shell("TaskKill /F /IM Acrobat.exe", vbHide) End Sub 

練習用ワークブックをダウンロードする

この練習用ワークブックをダウンロードして、この記事を読みながらエクササイズしてください。

PDF.xlsmからデータを抽出する

VBAを使用してPDFからExcelに特定のデータを抽出する概要(ステップバイステップ分析)

では、早速ですが、本日の本論に入ります。 ここでは PDF というファイル standardnormaltable.pdf は、正規分布の表を含むものです。

というワークシートを開いています。 シート1 のデータをコピーするExcelのワークブックにコピーします。 PDF ファイルを作成します。

のデータをコピーできることを紹介します。 PDF ファイルをExcelのワークシートに貼り付け、段階的に解析していきます。

⧪ ╱ ステップ1:必要な入力の宣言

まず、ワークシート名、セル範囲、アプリケーションの場所など、必要な入力を宣言する必要があります。 PDF ファイルが開かれます ( アドビリーダー の場所(この例では PDF ファイルを作成します。

 Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:♪Program FilesAdobe ♪Acrobat DC ♪Acrobat.exe" PDF_Path = "E:♪ExcelWIKI ♪standardnormaltable ♪" 

⧪ ステップ2:PDFファイルを開く(VBAシェルコマンドを使用する場合)

次に ブイビーエー シェル機能 を開いてください。 PDF ファイルを作成します。

 Shell_Path = Application_Path & " "" & PDF_Path & """" Call Shell(pathname:=Shell_Path, windowstyle:=vbNormalFocus) 

⦹ ステップ3(オプション):少し待つ

これはオプションです。 しかし、一連の長いタスクがあるときは、コンピュータが先のタスクを正常に終了させ、新しいタスクを開始するのを少し待ったほうがよいでしょう。

 Application.Wait Now + TimeValue("0:00:03") 

ここでは30秒待ちですが、ご希望であればもっと待つこともできます。

⧪ ステップ4:SendKeysを使用してPDFファイルからデータをコピーする

これはおそらく最も重要なタスクです。 3 SendKeysです。

  • ALT + V, P, C: でのスクロールを可能にすることが主な目的です。 PDF 小さなファイルでは必要ありませんが、大きなファイルではファイル全体を選択するために必要です。
  • CTRL + A。 ファイル全体を選択するためのものです。
  • CTRL + C 選択したファイルをコピーします。

したがって、コードの行は、そうなります。

 SendKeys "%vpc" SendKeys "^a" SendKeys "^c" 

⦹ ステップ5:Excelファイルにデータを貼り付ける

を具体的に開設しました。 PDF ファイルからデータをコピーし、ワークシートの目的の範囲に貼り付ける必要があります。

 MyWorksheet.Range("A1").PasteSpecial Paste:=xlPasteAll 

ここでは、セルに貼り付けた A1 もちろん、お好きな場所に貼り付けてください。

⦹ ステップ6(オプション):PDFファイルを閉じる(アプリケーションを終了する)

最後に、データの抽出が終わったら、起動しているプログラムを終了させた方がよいでしょう。

 Call Shell("TaskKill /F /IM Acrobat.exe", vbHide) を実行します。 

続きを読む PDFからExcelにデータを抽出する方法(4つの適切な方法)

類似の読み物

  • 記入済みPDFからExcelにデータを書き出す方法(簡単な手順付き)
  • PDFのコメントをExcelのスプレッドシートに書き出す方法(3つのクイック・トリック)

VBAを使用してPDFからExcelに特定のデータを抽出する例

からデータを抽出する手順を見てきました。 PDF を使用して、Excel ワークシートに変換します。 ブイビーエー .

そのため、完全 ブイビーエー からデータを抽出するコードです。 PDF というファイル 標準型ノーマルテーブル まで シート1 になります。

VBAのコードです。

 Sub Extract_Data_from_PDF() Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program FilesAdobeAcrobat DCAcrobat.exe" PDF_Path = "E:\ExcelWIKIstandardnormaltable.pdf" Shell_Path = Application_Path & """ & PDF_Path &""" Call Shell(pathname:=Shell_Path, windowstyle:=vbNormalFocus) Application.Wait Now + TimeValue("0:00:03") SendKeys "%vpc"SendKeys "^a" SendKeys "^c" MyWorksheet.Range("A1").PasteSpecial Paste:=xlPasteAll Call Shell("TaskKill /F /IM Acrobat.exe", vbHide) End Sub 

出力します。

このコードを実行すると、データを PDF というファイル 「ひょうじゅんひょうしつ というワークシートに "Sheet1"(シートワン をアクティブなワークブックで使用します。

続きを読む 複数のPDFファイルからExcelにデータを抽出する方法(3つの適切な方法)

覚えておきたいこと

  • のデータをコピーするワークブックを作成します。 PDF ファイルを開いておかなければなりません。
  • コード内で使用しているアプリケーションの名前( アドビ アクロバット DC がインストールされている必要があります。 インストールされていない場合は、エラーになります。
  • の大容量データセットの場合 PDF のファイルをコピーして貼り付ける場合、すべてのデータをコピーして貼り付けるまでに時間がかかることがあります。 そのため、処理が正常に完了するまで気長にお待ちください。

結論

したがって、これはある特定のデータを PDF を使用して、Excel ワークシートに変換します。 ブイビーエー また、私たちのサイトもご覧ください。 エクセルウィキ をご覧ください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。