このページの本文へ

FIXER cloud.config Tech Blog

Power Apps+AutomateでWord書類の自動発行とPDFへの自動変換を行なう

2021年07月20日 11時00分更新

文● あおい/FIXER

  • この記事をはてなブックマークに追加
  • 本文印刷

 本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「Power AutomateでPDFファイルに自動変換する方法 #Power Platformリレー 」を再編集したものです。

 こんにちは、あおいです。

 趣味の株式投資がここ最近好調です。投資は「プロスペクト理論の罠」にハマらないことが大事です。

 さて、OJT開発でPower Platformを活用して「書類の自動発行」に関連したアプリ開発をしていました。

 予め用意したWordテンプレートに任意の項目を入力し、PDFファイルに自動的に変換するというものです。結構便利だなぁ~と思ったので、今回のブログはPower AppsとPower Automateを活用した簡単な「書類の自動発行アプリ」を作ってみたいと思います。

 本アプリではプレミアムコネクタを利用するので、Power Automateの有料ライセンスが必要です。

 まずはWordテンプレートファイルを事前に作成しておく必要があります。こちらの記事を参考にしてお好みのWordテンプレートを作成してみてください(画像1:今回作成したWordテンプレートファイル)。

Power Automate を用いて書類を自動作成する #PowerPlatformリレー|cloud.config Tech Blog

 以下の2つのフォルダをOneDriveに作成してください。

・Wordテンプレートの保存フォルダ(画像2:Tech-Blogフォルダ)
・PDF変換したファイル保存フォルダ(画像2:pdfフォルダ)

 Tech-Blogフォルダ内に事前に作成したWordテンプレートを保存しておきます(画像3:Wordテンプレートファイル名Company_Template_File.docx)。

画像1

画像3

 次にPower Appsでキャンバスアプリを作成します。ボタン・ラベル・テキスト入力等のコントロールを適当に配置し、ツリービューから各コントロールに識別しやすい名前を付けておきます。命名まじで大事です。

画像2

 キャンバスアプリ画面のアクションタブからPower Automate「新しいフローの作成」を選択します。「Power Appsボタン」トリガーの新しいステップから、「データの操作」コネクタを検索して「JSONの解析」アクションを選択します。「サンプルから生成」に以下のJSONをコピペしてください。そうすると、いい感じにスキーマを生成してくれます。


{"CompanyName":"","PersonName":"","Address":"","TelNumber":""}

 「日時」コネクタの設定は必須ではないので、こちらのアクションはスキップしてもらっても大丈夫です。

 ただ、ファイルに一意識別子を付ける為のアクションなので、きちんと設定しておいたほうが何かと便利です!

※「日時」コネクタで「現在の時刻」を取得して、同様のコネクタで「タイムゾーンの変換」アクションで扱う時刻を世界標準時から日本時間へ変換します。

 「Word Online (Business)」コネクタの「Microsoft Wordテンプレートを事前設定します」アクションを選択して、場所「OneDrive for Business」ドキュメントライブラリ「OneDrive」ファイル「ファイルパスを確認して指定」等を指定します。そうするとWord内で設定した動的変数が自動的に表示されます。Wordの各項目に「JSONの解析」から動的なコンテンツをセットします。

 ひとつ前のアクションで動的なコンテンツはセットされましたが、ここではまだ保存されていない状態なので、OneDriveのフォルダに「ファイルの作成」アクションで一時的に保存します。ファイル名は適当につけておきます。ファイルコンテンツにはひとつ前のアクションで生成された「Microsoft Word 文書」をセットします。

 この段階で作成されるwordファイルはPDF変換する前の一時的なファイルです。最終的に使用するのはPDFファイルなので後でファイル削除のアクションが必須です。Wordファイルが残っているとデータの改竄が簡単に出来てしまうのは危険ですからね。

 「Word Online (Business)」コネクタの「Word文書をPDFに変換します」アクションを選択して、ファイルにPDF変換する対象ファイルをセットします。この場合、動的なコンテンツからひとつ前のアクションで生成された「表示名」にファイル名(拡張子付き)を指定します。

 そしてこの段階ではまだ保存されていない状態なので、OneDrive「ファイルの作成」アクションを選択してpdfフォルダ内に変換したPDFファイルを保存します。

 最後にOneDrive「ファイルの削除」アクションを選択して、動的なコンテンツから最初に作成したファイルのIDをセットします。このファイルの削除は大事なので忘れないようにしましょう。

 これで一通りのフローは完成です。

 最後に、Power Appsの「PDFファイル作成」ボタンを選択した状態で、アクションタブからPower Automateを選び、先ほど作成した「pdf自動生成(OneDrive)」フローを選択します。

 「pdfファイル作成」ボタンのOnSelectプロパティに数式を入力して、各テキスト入力コントロールのResetプロパティに変数 isReset をセットしておいてください。

 これで完成です!

 試しにアプリの各項目を適当に入力してボタンを押してPower Automateのフローを走らせてみましょう!

 実行後、OneDriveのpdfフォルダ内を確認すると、新規pdfファイルが生成されているはずです。

 ファイルを開いてPower Appsで入力した内容がきちんと反映されていたら成功です!

 もし、Power Appsの画面を作成するのがめんどくさいと思ったら、「手動でフローをトリガーします」を最初のトリガーにしておけば大丈夫です!

 これでPower AppsとPower Automateを活用した簡単な「書類の自動発行アプリ」作成が完了しました!

 今回は簡単な書類の自動発行機能を作成してみましたが、「Power Apps」コネクタの「Power App または Flowに応答する」アクションを活用し、Automateフローの値をPower Appsに返すことでPower Apps側の操作の幅が広がります! 非常に簡単なので是非試してみてください!

 あおい/FIXER

[転載元]
 Power AutomateでPDFファイルに自動変換する方法 #Power Platformリレー

カテゴリートップへ