「PDFからテーブルを抽出する」では、PDFファイルからテーブル部分を読み取り、DataTable形式で取得することができます。
PDFからテーブルを抽出する
![PowerAutomateDesktop pdfからテーブルを抽出する1](https://sunagitsune.com/wp-content/uploads/2022/05/98478ee9c002cc3e2bda2ea267d593ec.png)
PDFからテーブルを抽出するは、アクションペインのPDFから追加できます。
![PowerAutomateDesktop pdfからテーブルを抽出する2](https://sunagitsune.com/wp-content/uploads/2022/05/fbddd0732e28893dd11f5ac9edc6b604.png)
追加するとダイアログが表示されます。
全般
![PowerAutomateDesktop pdfからテーブルを抽出する3](https://sunagitsune.com/wp-content/uploads/2022/05/53cad68f1d20fd15f5ed53a7ed814ff3.png)
テーブルを読み取る対象となるPDFを指定します。ファイルの選択アイコンからファイルを選択すると、
![PowerAutomateDesktop pdfからテーブルを抽出する4](https://sunagitsune.com/wp-content/uploads/2022/05/65b2c66cf82c2b8001b68011b2ae1e64.png)
パスが入力されます。パスは直接書いてもいいし、パスの一部に{x}から変数を使用することもできます。
抽出するページ
![PowerAutomateDesktop pdfからテーブルを抽出する5](https://sunagitsune.com/wp-content/uploads/2022/05/efa2efa9ad54413a4b4274c6185fa384.png)
テーブルを読むページを指定します。すべてでは全ページが対象となります。
![PowerAutomateDesktop PDFからテキストを抽出7](https://sunagitsune.com/wp-content/uploads/2022/05/2ff24ee3a660f04501cc803c6405647f.png)
単一では単一ページ番号で読み取るページを指定、
![PowerAutomateDesktop PDFからテキストを抽出8](https://sunagitsune.com/wp-content/uploads/2022/05/572f05760deb87b64cd1848b10b3af40.png)
範囲では開始ページ番号と終了ページ番号で読み取る範囲を指定することができます。
詳細
![PowerAutomateDesktop pdfからテーブルを抽出する6](https://sunagitsune.com/wp-content/uploads/2022/05/e105e6ee6ac5782a1115792aa5fbcfe8.png)
詳細から、以下の設定が可能です。
パスワード
![PowerAutomateDesktop pdfからテーブルを抽出する7](https://sunagitsune.com/wp-content/uploads/2022/05/2bdab1fd6fb5ef17a6b49971cd5d510e.png)
PDFがパスワードで保護されている場合、それを解除するためのパスワードを指定できます。
保護されてない場合は空欄でOKです。
保護されてない場合は空欄でOKです。
ページの余白を超えるテーブルをマージする
![PowerAutomateDesktop pdfからテーブルを抽出する11](https://sunagitsune.com/wp-content/uploads/2022/05/4400b49077751f14b1bd9a34c92d4b31.png)
マージ=結合。つまりページをまたいだテーブルをくっつけるか、分離して取得するかを指定できます。
最初の行に列名を含める
![PowerAutomateDesktop pdfからテーブルを抽出する12](https://sunagitsune.com/wp-content/uploads/2022/05/75c227bba2590aca696c20af58b30e79.png)
テーブルの一行目を見出し(列名)として扱うかどうかを指定できます。
生成された変数
![PowerAutomateDesktop pdfからテーブルを抽出する13](https://sunagitsune.com/wp-content/uploads/2022/05/2bb4fe9bac3a2361a79356be153a87d9.png)
変数の名前をクリックして変更可能です。{x}から別の変数に値を上書きすることもできます。
![PowerAutomateDesktop pdfからテーブルを抽出する14](https://sunagitsune.com/wp-content/uploads/2022/05/802319bf237999b3dca3d64e39697c37.png)
スイッチをオフにすると変数が生成されなくなります。
エラー発生時
![PowerAutomateDesktop pdfからテーブルを抽出する15](https://sunagitsune.com/wp-content/uploads/2022/05/666dab2bf945f8536e5555c503817076.png)
エラー時の処理を設定できます。
![PowerAutomateDesktop pdfからテーブルを抽出する16](https://sunagitsune.com/wp-content/uploads/2022/05/91923ae558fc61a080daccfd3c43d6f9.png)
詳細では、PDFが存在しない、パスワードが無効、テーブルを抽出できない場合の対処を個別に指定できます。
実行例
![PowerAutomateDesktop pdfからテーブルを抽出する9](https://sunagitsune.com/wp-content/uploads/2022/05/dd567e75b1bad68f2c87586d3aafc985.png)
取得される変数(DataTable形式)は、塊としてはテキストとなり、
![PowerAutomateDesktop pdfからテーブルを抽出する8](https://sunagitsune.com/wp-content/uploads/2022/05/d454edb182e4c7e8fe3cadd1268433be.png)
たとえば取得した変数をそのままExcelに書き込んでも、
![PowerAutomateDesktop pdfからテーブルを抽出する17](https://sunagitsune.com/wp-content/uploads/2022/05/6b5d1e56cfe6f4d8dacbcd2e7c3f86e5.png)
こんな感じのよくわからない状態になります。
![PowerAutomateDesktop pdfからテーブルを抽出する10](https://sunagitsune.com/wp-content/uploads/2022/05/df493240fe9cea2b34834835786241f5.png)
DataTableはこんな感じで中にデータが入っているのですが、
![PowerAutomateDesktop pdfからテーブルを抽出する19](https://sunagitsune.com/wp-content/uploads/2022/05/47b34a374d62c4f592e2d43d5f75de30.png)
PDFからテーブルを抽出するで取得したテーブルにはそれぞれ0,1,2…とナンバーが振られるので、(変数名)[0]でひとつめのテーブルを指定することができ、
![PowerAutomateDesktop pdfからテーブルを抽出する20](https://sunagitsune.com/wp-content/uploads/2022/05/ab3f7a1065ec165c0402c51b82b49d28.png)
さらにその後ろに.DataTableを付けると、テーブルの中身を取得することができます。
![PowerAutomateDesktop pdfからテーブルを抽出する21](https://sunagitsune.com/wp-content/uploads/2022/05/f988446785f0442414b86be76aad8cca.png)
なので仮にテーブルがひとつしかない場合、図のようにすれば、
![PowerAutomateDesktop pdfからテーブルを抽出する22](https://sunagitsune.com/wp-content/uploads/2022/05/25ccec497dddd0c90cd0d1c1506c6fb6.png)
テーブルの中身を取得することができます。
Pdf.ExtractTablesFromPDF.ExtractTables PDFFile: $'''C:\\Users\\User\\Desktop\\sunagitsu_test\\sunagtisu.pdf''' MultiPageTables: True SetFirstRowAsHeader: False ExtractedPDFTables=> ExtractedPDFTables
Excel.LaunchExcel.LaunchUnderExistingProcess Visible: True Instance=> ExcelInstance
Excel.WriteToExcel.Write Instance: ExcelInstance Value: ExtractedPDFTables[0].DataTable
# [ControlRepository][PowerAutomateDesktop]
{
"ControlRepositorySymbols": [],
"ImageRepositorySymbol": {
"Name": "imgrepo",
"ImportMetadata": {},
"Repository": "{\r\n \"Folders\": [],\r\n \"Images\": [],\r\n \"Version\": 1\r\n}"
}
}
![](https://sunagitsune.com/wp-content/uploads/2021/11/machine-learning-g0b59793cc_1280-160x90.png)
Microsoft Power Automate Desktop(PAD)アクション、使い方一覧
Power Automate Desktopの使い方を機能・分類別に参照できるまとめです。
コメント