26.3K Views
November 28, 23
スライド概要
「Power Automate for desktop|最新情報&実務で使えるフロー実演」(RPACommunity主催)の登壇資料です。
(2023年11月28日オンライン開催)
RPACommunity Excelファイルを転記した後に PDFに変換するフローの紹介 2023.11.28
注意事項 1. 本セッションではPower Automate for desktopのことをPADと略します。 2. 本セッションの資料はPAD バージョン 2.38 に基づいて作成しています。今後のバージョンアップによって 画面等が変更される可能性があります。 3. 本日の資料はセッション終了後に公開予定です。イベントページから資料一覧をご確認ください。 2
Agenda 1. フローの紹介 2. 準備段階 3. PDFの出力先フォルダーの準備 4. 顧客リスト読み込み 5. 請求書ブックに書き込み 6. プリンター経由で請求書ブックをPDF化 7. 本日のまとめ
Excelファイル転記後に PDF変換するフロー
Excelファイル転記後にPDF変換するフロー(1) ① Excelリストから顧客名や数量、単価といったデータを読み込み ② 請求書Excelファイルに①のデータを転記 ③ Microsoft Print to PDFプリンターを使って②のファイルをPDF化 5
Excelファイル転記後にPDF変換するフロー(2) 6 https://www.microsoft.com/ja-jp/office/pipc/template/result.aspx?id=14615 より
Excelファイル転記後にPDF変換するフロー(3) 7
Excelファイル転記後にPDF変換するフロー(4) 8
Excelファイル転記後にPDF変換するフロー(5) 9
準備段階
準備段階(1) • 「変数の設定」アクションで請求書の元ファイルと顧客リストファイル、PDFの出力先フォルダーのパスを 変数として設定 11
準備段階(2) 12 • 処理の最後に“既定のプリンター”を元に戻すため、処理前に既定のプリンター名を変数として取得 • 「Microsoft Print to PDF」プリンターを使ってPDF化するため、「既定のプリンターを設定」アクションで Microsoft Print to PDFプリンターを既定に設定 きぬあさ的ポイント: ★☆☆☆☆
PDFの出力先フォルダーの準備
PDFの出力先フォルダーの準備(1) • 14 PDF出力時に同名のファイルがあると確認ダイアログが表示されて処理が止まるため、事前にPDFの出力先 フォルダー内のPDFファイルを削除 きぬあさ的ポイント: ★☆☆☆☆
PDFの出力先フォルダーの準備(2) • 事前にPDFの出力先フォルダー内のPDFファイルを削除しなかった場合: 15
顧客リスト読み込み
顧客リスト読み込み(1) • 17 「Excel ワークシートから読み取る」アクションで転記元のセル範囲を読み込んでしまえば、 ファイルを閉じても大丈夫 きぬあさ的ポイント: ★☆☆☆☆
顧客リスト読み込み(2) 転記するセル範囲をDatatable型の 変数として取得 18
請求書ブックに書き込み
請求書ブックに書き込み(1) 20 • 顧客リストから読み込んだセル範囲の値を 請求書ブックに書き込み • Excelから直接PDF化するのではなく、 「ドキュメントの印刷」アクションを使用 するため、書き込み後はファイルを保存し て閉じる
請求書ブックに書き込み(2) 21
プリンター経由で請求書ブックをPDF化
プリンター経由で請求書ブックをPDF化(1) 23 • 「Microsoft Print to PDF」プリンターで『印刷』することでExcelファイルをPDF化する • PDFの作成が終わるまで処理を待つ必要があるが、出力先フォルダー内のPDFの数を比較することで “いつまで待つか”を決める きぬあさ的ポイント: ★★☆☆☆
プリンター経由で請求書ブックをPDF化(2) • Microsoft Print to PDFプリンターで印刷すると(「ドキュメントの印刷」アクション)、PDFの保存先を 指定するダイアログが表示される • 「ウィンドウ コンテンツを待機」アクションで保存先の入力欄が表示するまで処理を待機 24
プリンター経由で請求書ブックをPDF化(3) 25 • Windowsではファイルやフォルダーの名前に以下の 文字を使用できないため、これらの文字が使われる [<>:¥"¥/¥¥¥|¥?¥*] 可能性がある場合は事前に「テキストを置換する」 アクションで別の文字に置き換える(※正規表現) %''% ➢ < (より小さい)、> (より大きい)、: (コロン)、" (二重引 用符)、/ (スラッシュ)、¥ (円記号)、| (縦棒またはパ イプ)、? (疑問符)、* (アスタリスク)
プリンター経由で請求書ブックをPDF化(4) 26 きぬあさ的ポイント: ★★★☆☆
プリンター経由で請求書ブックをPDF化(5) • 27 印刷結果を名前を付けて保存ダイアログを操作してPDFファイルを保存 きぬあさ的ポイント: ★★☆☆☆ ※ フルパス:ファイルの場所 + ファイル名 (例)C:¥Test¥PDF¥請求書¥Hoge Corporation.pdf
ここでワンポイント!
PADの鬼門:セレクター(1) • 「UI 要素の追加」(UI 要素ピッカー)で取得したUI要素の名前を分かりやすいように変更(※必須ではない) • 今回のフローで使用するのはファイル名の入力欄(FileName)と保存ボタン(SaveButton)のみ 29
PADの鬼門:セレクター(2) • 30 注目したいのはファイル名の入力欄(FileName)と保存ボタン(SaveButton)の親に当たるExcelのウィンドウ (ExcelWindows)のセレクター 「Name」属性の値にファイル名が含 まれているため、そのファイル以外で フローを実行したときは途中で処理が 止まる
PADの鬼門:セレクター(3) • 対応策1:Name属性の指定方法を変更する 31
PADの鬼門:セレクター(4) • 32 対応策2:他の属性を使用する きぬあさ的ポイント: ★★★★☆
PADの鬼門:セレクター(5) • 「知っていると便利なセレクターの基礎知識」 ➢ 2022年6月7日に開催された『Power Automate for desktop 最新情報&ライブデモを堪能!』 (RPACommunity主催)より https://www.youtube.com/watch?v=0CPB_ynXZKU&t=1814s より 33
プリンター経由で請求書ブックをPDF化(6) • PDFの作成が終わるまで待機する処理 34
プリンター経由で請求書ブックをPDF化(7) • 最後まで処理が終わったら、既定のプリンターを元に戻して終了 35
本日のまとめ
PDF変換に「ドキュメントの印 刷」アクション+「Microsoft Print to PDFプリンター」とい う選択肢もある! 不要なダイアログが表示されて処 理が止まらないよう、予想できる エラーは最初に潰しておこう!
参考資料、その他
参考資料:フローのコピー方法 39 ※ テキストファイルからデザイナーにフローをコピー&ペーストできます。 本日のフロー: https://gist.github.com/kinuasa/738dd402362a 472d6c34eea5e6baa8bd
参考資料 40 1. できるPower Automate for desktop / 著・あーちゃん https://book.impress.co.jp/books/1122101126 2. できるPower Automate for desktop [特別版] ※フォームから氏名等を登録すれば一部抜粋版がDL可能 https://info.microsoft.com/JA-AccLC-CNTNT-FY23-05May-15-Can-Power-Automate-for-desktopSpecial-Edition-SRGCM10199_LP01-Registration---Form-in-Body.html 3. はじめてのPower Automate Desktop / 著・株式会社ASAHI Accounting Robot研究所 https://gihyo.jp/book/2021/978-4-297-12311-6 ※ 画像は Amazon より ※ 画像は Amazon より
使用したフォント 1. 「851マカポップ」フォント http://pm85122.onamae.jp/851mkpop.html 41