松本典子の「はじめよう!Azure Logic Apps/Power Automateでノーコード/ローコード」 第27回
資料請求フォームに入力があったら送付状を自動生成する
WordのテンプレートとPower Automateで定型文のPDFファイルを自動作成しよう
2023年07月03日 09時00分更新
こんにちは、Microsoft MVP(Azure / Business Applications)の松本典子です。
一般に、ビジネス書類を郵送する際には「送付状」を作成して添付します。送付状の文章は定型文として用意できますが、毎回Wordファイルをコピーし、送り先の会社名や担当者名を手入力するのは時間がかかるうえ、入力ミスも発生しやすくなります。
そこで今回はPower Automateを活用して、文章は定型で、宛先の情報だけが個々に違う送付状や案内状を簡単に作成する方法をご紹介します。宛先をWebのフォームに入力すれば、その情報が記入されたPDFファイルを自動生成するワークフローです。
1. OneDrive for Businessにフォルダを作成
まずは、Wordのテンプレートファイル(後述)やPower Automateが生成したファイルを保存するフォルダをOneDrive for Businessに準備します。具体的には次の2つのフォルダです。
●「word-tmp2023」フォルダ:WordテンプレートとPower Automateで自動入力後のファイルを保存
●「WordFile2023」フォルダ:PDF形式に変換したファイルを保存
2. Wordテンプレートの設定
Microsoft Wordには、文書のひな形となるファイルを保存しておける「テンプレート」という機能があります。定型的な文書をテンプレートとして保存しておけば、変更が必要な部分(日付や宛先情報など)だけを入力して簡単に文書が作成できます。
上図は資料請求者に資料を送付する際の、送付状のテンプレート例です。この赤枠内に資料請求者の情報や日付をPower Automateが自動入力できるよう、テンプレートを修正します。
2-1. テキスト コントロールの設定
テンプレートの修正にはWordの「開発」メニューを使用します。デフォルトでは非表示になっているので、リボンUIにその項目が表示されるように設定します。
Wordの「ファイル」メニューから「その他>オプション」を選択して「リボンのユーザー設定」をクリックします。一覧にある「開発」にチェックを入れると、リボンに「開発」という項目が表示されます。
この「開発」をクリックして、図のように設定します。
(1):デザインモードを選択
(2):自動入力したい項目をドラッグし「プレーン テキスト コンテンツ コントロール」をクリック
(3):日付~担当者の項目を「テキスト コントロール」に変更
「テキスト コントロール」の詳しい情報は、以下の公式ドキュメントを参考にしてください。
●ユーザーがテキストを入力できるテキスト コントロールを挿入する(マイクロソフト)
作成したテンプレートのファイル名を「word_tmp01.docx」として、先ほどOneDrive for Businessに作成した「word-tmp2023」フォルダに保存します。
3. Microsoft Formsで入力フォームを作成
Microsoft Formsを使って、宛先情報を入力するWebフォームを作成します。Microsoft Formsのポータルページで、以下の入力項目のフォームを作成します。作成したフォームの名前は「資料請求」としました。
●会社名
●担当者名
●郵便番号
●住所
なお本記事ではMicrosoft Formsの詳しい使い方は解説しません。以下の公式ドキュメントを参考にしてください。
●Microsoft Forms を使用してフォームを作成する(マイクロソフト)
4. ワークフロー全体図
今回作成するワークフローの全体像は上図のとおりです。Microsoft Formsから情報が入力されたら、その内容を「送付状」のWordテンプレートに自動で転記し、PDFファイルとして出力する仕組みです。
4-1. トリガーの設定
今回のワークフローでは、Microsoft FormsのWebフォームから応答(入力情報)が送信されたらトリガーが起動するように設定します。
検索窓に「Forms」と入力して、「Microsoft Forms」コネクタを選択します。トリガー一覧から「新しい応答が送信されるとき」をクリックします。なお「フォームID」では、応答を取得したいWebフォームの名前(今回は先ほど作成した「資料請求」)を選択します。
4-2. アクションの設定:応答の詳細を取得する
続いて、Microsoft Formsの応答から具体的な情報を取得します。
検索窓に「Forms」と入力して、「Microsoft Forms」コネクタをクリックします。アクションの一覧から「応答の詳細を取得する」をクリックします。
●フォームID:トリガーと同じWebフォームを選択(今回は「資料請求」)
●応答ID:動的なコンテンツから「応答ID」を選択
このアクションで、Microsoft Formsで作成した指定のWebフォームから送信された内容を取得します。
4-3. アクションの設定:現在の時刻
Wordテンプレートに入力する日付(書類の作成日)を取得します。今回はこのワークフローが自動実行された日付を取得し、そのまま入力することとします。
アクションの検索窓に「日時」と入力して、「日時」コネクタをクリックします。アクション一覧から「現在の時刻」を選択します。その名のとおり、これは実行時点の日時情報を取得するだけのアクションです。設定項目はありませんので、そのまま次に進みます。
以前の記事でも説明しましたが、「現在の時刻」アクションで取得できる日時は日本標準時(JST)になっていません。加えて、ビジネス文書に記載するうえでは「○○○○年○月○日」という書式が望ましいでしょう。ここで修正を行います。
もう一度「日時」コネクタを検索、クリックして、今度はアクション一覧から「タイムゾーンの変換」を選択します。
(1)基準時間:動的なコネクタから「現在の時刻」をクリック
(2)書式設定文字列:「○○○○年○月○日」という表示にしたいので、一覧から「カスタム値の入力」を選択。「式」に以下の内容を入力します。
formatDateTime(utcNow(),'yyyy年MM月dd日')
(3)変換元のタイムゾーン:「(UTC-09:00)協定世界時-09」を選択
(4)変換先のタイムゾーン:「(UTC+09:00)大阪、札幌、東京」を選択
このアクションで、先ほど取得した「現在の時刻」を日本時間に変換し、さらに日付は「○○○○年○月○日」という書式に変換します。
4-4. アクションの設定:Wordテンプレートの事前設定
検索窓に「Word」と入力して、一覧の中から「Word Online (Business)」コネクタをクリックします。アクション一覧から「Microsoft Word テンプレートを事前設定します」を選択します。
図中の各項目(1)~(8)は、それぞれ次のように入力します。なお(4)~(8)の項目は、「2-1. テキスト コントロールの設定」で設定した内容が自動で入力されているはずです。
(1)場所:「OneDrive for Business」を選択
(2)ドキュメントライブラリ:「OneDrive」を選択
(3)ファイル:Wordテンプレートを保存しているフォルダを選択
(4)担当者:動的なコンテンツから「担当者名」を選択
(5)会社名:動的なコンテンツから「会社名」を選択
(6)住所:動的なコンテンツから「住所」を選択
(7)日時:動的なコンテンツ「タイム ゾーンの変換」の「変換後の時間」を選択
(8)郵便番号:動的なコンテンツから「郵便番号」を選択
このアクションで、フォームから入力された情報などをWordテンプレートに転記(入力)します。
4-5. アクションの設定:ファイルの作成
前のアクションで生成したWordファイルを、テンプレートと同じフォルダ内に「会社名.docx」の名前で保存します。
検索窓に「OneDrive」と入力して、一覧の中から「OneDrive for Business」コネクタをクリックします。アクション一覧から「ファイルの作成」を選択します。
(1)フォルダーのパス:「2. Wordテンプレートの設定」で作成したWordテンプレートのフォルダを指定(今回は「word-tmp2023」)
(2)ファイル名:動的なコンテンツ「応答の詳細を取得する」の「会社名」を指定した後、「.docx」と拡張子を追記
(3)ファイルコンテンツ:動的なコンテンツ「Microsoft Word テンプレートを事前設定します」の「本文」を指定
4-6. アクションの設定:Word文書をPDFに変換
前のアクションで保存したWordファイルをPDF形式に変換します。
検索窓に「Word」と入力して、一覧の中から「Word Online (Business)」コネクタをクリックします。アクション一覧から「Word 文書を PDF に変換します」を選択します。
(1)場所:「OneDrive for Business」を選択
(2)ドキュメント ライブラリ:「OneDrive」を選択
(3)ファイル:はじめに動的なコンテンツ「ファイルの作成」の「名前」を指定後、作成したWordファイルのパス(今回は「/word-tmp2023/」フォルダ内)を入力
4-7. アクションの設定:ファイルの作成 2
前のアクションでPDF形式に変換した文書を、PDF用のフォルダ内に「会社名.pdf」の名前で保存します。
検索窓に「OneDrive」と入力して、一覧の中から「OneDrive for Business」コネクタをクリックします。アクション一覧から「ファイルの作成」をクリックします。ワークフロー中で2個目の「ファイルの作成」になるため、名前はデフォルトで「ファイルの作成 2」となります。
(1)フォルダーのパス:PDFファイルを保存したいフォルダを指定(今回は「WordFile2023」)
(2)ファイル名:動的なコンテンツ「応答の詳細を取得する」の「会社名」を指定後、「.pdf」と拡張子を追記 (3)ファイルコンテンツ:動的なコンテンツ「Word 文書を PDF に変換します」の「本文」を指定
最後は忘れずにワークフローを保存します。「Wordテンプレート利用フロー」などわかりやすい名前をつけて保存し、完成です。
5. 実行結果
実際にワークフローを動かしてみます。
「3. Microsoft Formsの作成」で作成したWebフォームにアクセスし、上図のような内容を入力、送信します。
Wordテンプレート(今回は「word_tmp01.docx」)と同じフォルダ内に、生成されたWordファイルが保存されています。
そして指定したフォルダ(今回は「WordFile2023」)に、PDFファイルが作成・保存されています。
Wordテンプレートのテキスト コントロールを設定した箇所に、Webフォームの内容が入ったPDFファイルになっています。
最後に
今回は処理に含めませんでしたが、たとえば「PDFファイルが作成できたらMicrosoft Teamsに通知を送る」といった処理も簡単に追加できます。
また、第26回では、特定の件名でメールを受信したら「文字列検索」コネクタを使って、顧客リストを自動作成する方法を紹介しています。Microsoft Formsを利用せず、既存のお問い合わせメールから住所等の情報を抽出したい場合は参考にしてください。
参考
この連載の記事
-
第42回
Team Leaders
Power Automateで複数人の承認(多段階承認)ワークフローを簡単作成しよう -
第41回
Team Leaders
重要なTeamsメッセージの見失い/見落としを防ぐPower Autometeのフローを作ろう -
第40回
Team Leaders
クラウドフローからデスクトップフローを「Picture-in-Picture」で起動する -
第39回
Team Leaders
面倒なカレンダー登録作業を生成AIで自動化するワークフローを作ろう -
第38回
Team Leaders
生成AIに日本語プロンプトで指示を出し、メールから情報を抽出してもらおう -
第37回
Team Leaders
フォルダー内のすべてのファイルを添付してメールを自動送信するフローを作ろう -
第36回
Team Leaders
ローカルPCのテキストファイルをPower Automateに読み込ませて活用しよう -
第35回
Team Leaders
受信メールの添付ファイルを種類に応じたフォルダに自動保存する -
第34回
Team Leaders
Power AutomateでTeamsのチーム全員にメンションを送る方法 -
第33回
Team Leaders
Power AutomateのCopilotは日本環境でも使えるか? 試してみました -
第32回
TECH
Power Automateに大きな変化!「モダンデザイナー」を使ってみよう - この連載の一覧へ