まずはこれができるようになると色々と応用ができるようになるので、
Word テンプレート に動的な値をセットしてPDF化したものをクラウドに保存する
これだけやってみましょう♪
※プレミアムコネクタを使用するのでPower Automateの有料プランが必要です。
まずはWord テンプレートの準備
動的な値をセットする箇所を指定するWordファイルを準備します(サンプルはコチラからダウンロードできます )
仮の名前をセットしています。上記画像だと「宛先」です。これは後で使うPower Automate のフローでそのままの名称で使うので、変数名っぽいものにしておくと良いです。サンプルでは「宛先」「送信元」の2か所指定しました。
OneDrive にテンプレートファイルを保存
今回は検証なのでOneDriveに保存します。 TempDocs というフォルダを作りそこにテンプレートファイルを保存しました。ついでに最終的にPDFファイルを出力するフォルダも作っておきましょう。
フローを作成
作成結果はこんな感じ。ひとつずつ解説します。
手動でフローをトリガーします
動的に追加したい値をボタントリガーで取得します。(将来的にはAppsとかから取得したいですね)
Microsoft Word テンプレートを事前設定します
Word Online(Business) の 「Microsoft Word テンプレートを事前設定します」アクションを指定。
場所をOneDrive for Business 、 ドキュメントライブラリ を OneDrive と指定。ファイルは先ほどアップロードしたテンプレートファイルを指定します。するとWord内で設定した動的変数が自動的に表示されます。
Wordの項目名と、トリガーで指定した動的なコンテンツをセットします。
ファイルの作成
ひとつ前のアクションで動的なコンテンツはセットされましたが、まだ保存されてません(ここ重要)なので、OneDriveのフォルダに「ファイルの作成」アクションでいったん保存します。
ファイル名は適当です。ここで作成されるwordファイルはPDFに変換する前の一時ファイルなので、実際にはフローの最後で削除するなど後始末が必要です。
「念のため残しておこう」とwordファイルを残してても結局使うのはPDFファイルですし、Wordファイルが残っていると改ざんが簡単にできてしまうのでWordファイルを保存しておくのは良くないでしょう。
ファイルコンテンツ にひとつ前のアクションで生成された「Microsoft Word 文章」をセットします。
Word 文章を PDF に変換します
PDFへ変換する対象のファイルを指定します。ひとつ前のアクションで生成された「表示名」にファイル名(拡張子付き)を指定します。
フォルダは 右側のフォルダアイコンで指定せず、直接入力する必要があります。
これでPDFへ変換はされました。しかし変換したファイルの保存はしていないので、最後にファイルの保存をします。
ファイルの作成 2
保存フォルダ:フォルダアイコンから指定したPDFフォルダ
ファイル名:ボタンを押したタイムスタンプ + 拡張子の .pdf を指定
ファイルコンテンツ:ひとつ前のアクションで生成された「PDF ドキュメント」
これで、フローの作成は終了。
実行結果
ブラウザからテスト実行してみます。「宛先」と「送信元」を適当に入力して実行します。
問題なくPDFが作成されました!
これで Power Automate を使って、値をセットする準備をしたWordテンプレートファイルから、動的な値をセットして、PDFファイルを生成して、OneDrive for Business に保存することが出来ました。
これで色々できる
これができると応用が思いつきます。
現状紙で社内申請している色々なものを、Power Apps で入力した値を元にフローでPDF作成をしつつ、承認ワークフローを上司に送信して内容確認したら承認してもらう。とかできそうです。
参考
このやり方はマルっと、こちらのyoutube動画で確認することができます