マイクロソフトフォームズで提出された内容をPDF等で印刷する方法(無料)【Power Automate使用】
マイクロソフトフォームズで提出された内容を、Power Automateを使って印刷できる機能の作り方をステップバイステップで図解しています。無料のOneDriveの「ファイルの変換」アクションを使うのが肝です。
(動画時間:10:10)
Udemyオンラインコースを運営しています。
初級編:「マイクロソフトPowerApps【コントロールと関数 完全ガイド】」
⇒ 半額になる「ディスカウントリンクページ」へ
マイクロソフトフォームズの提出内容を印刷する方法の概要
こんにちは、リーンシグマ、ブラックベルトのマイク根上です。
業務改善コンサルをしています。
今回の動画は次のご質問からです。

「Microsoft Formsで入力した内容をExcelの指定の書式(例えば日報)に
転記してそれを自動でPDF印刷することは
クラウド版パワーオートメイトはできないでしょうか?」
MIさん、ご質問ありがとうございました。
このご質問への答えとして、
- 営業員が日報をマイクロソフト(MS)フォームズで提出する。
- Power Automateを使ってその営業員自身とその上司にその内容をメールで送る。
- 最後に添付ファイルを印刷する。
というシナリオでやってみます。
マイクロソフトフォームズで日報フォームを準備する。

上図の様にMSフォームズで今日の活動結果と
明日の行動予定を提出できるフォームを簡単に作成しました。
⇒「マイクロソフトFormsの基本と便利な使い方【初心者向け】」
営業日報の提出は毎日の活動なので、
できる限り最少の入力作業にした方がいいです。
提出日は自動で取得できるので、
ユーザーはわざわざ入力する必要はありません。

また、MS フォームズ開発画面の右上の「…」から(上図参照)、
「設定」で「自分の所属組織内のユーザーのみが回答可能」を選ぶと、
後で自動で提出者のEメールアドレスを取得できます。
ですのでユーザーの自分の名前の入力作業も省けます。
これで日報フォームの準備は完了です。
ちなみに不特定多数の人にこのフォームを配布したい時は、
その上の「すべてのユーザーが回答可能」を選びます。
しかし、その時はユーザーのメルアドは自動では取得できません。
Power Automateでの印刷機能作成作業
MS Formsのトリガーと提出データ取得のアクション

上図がPower Automateの作業画面で、今回のフローの全容です。
最初が「Forms」コネクターの「新しい応答が送信されるとき」トリガーです。
その中の「フォームID」で、さっき作ったフォームを選び、
これで営業員が日報を提出する度にこのフローが作動します。
HTMLデータをPDFに無料で変換する方法:OneDriveの使用
次に、営業日報の全内容を取り込むために「Forms」コネクターの
「応答の詳細を取得する」アクションを使います。
「応答ID」のテキストボックス「動的なコンテンツ」内に一つしか選択肢が無いのでそれを選ぶだけです。
しかし、その内容のデータは「HTML」型ですので、
これをPDFに変換する必要があります。
「アクションの追加」で、「PDF」で検索すると、
いくつか「HTMLをPDFに変換」というアクションがありますが、
どれもサードパーティーのもので、お金が掛かります。
今回は無料でやる方法を探しました。
そこでOneDriveを使うと、その中に「ファイルの変換」アクションがあり、
これでPDFに変換ができるのです。
OneDrive for Business:「ファイルの保存」アクションで出力の書式作成
その前にフォームから提出されたHTMLデータを
OneDriveに保存する必要があり、
そこで「OneDrive for Business」コネクターの
「ファイルの作成」アクションで一時的に保存するのです。
ここで作ったファイルは最後に削除するので、
保存場所の「フォルダーのパス」と「ファイル名」は何でもいいです。
しかし、ファイル名の最後に「.html」の拡張子を入れて下さい。

次に「ファイルコンテンツ」で
ご自分の好きな文書と書式コードを入力します。(上図参照)
質問者さんは「エクセルで」と言われてましたが、
エクセルだと文章の書式の設定が難しいです。
しかし、こっちだとそれが簡単で、それを見てみましょう。
最初の三行はHTMLコードで背景色を薄青に変えています。
その後は各質問項目の見出しと、
ユーザーの回答を「動的なコンテンツ」から入力しています。
各質問の間にHTMLコードのBreakの意味の「br」を
三角括弧で挟んで書いて改行をしています。
ここ全体がHTMLコードとなり、作り込めば色んな書式ができるのです。
日本時間と時間書式の設定の仕方:「convertFromUtc」関数
データとしては最初が提出日です。
操作としてはアクション画面右下の
「動的なコンテンツの追加」から(上図参照)
「式」タブで数式を作っていきます。
「utcNow」関数でユーザーが提出ボタンを
クリックした直後の時間を取得できます。
しかし、これは世界の「基準時間」で日本時間より9時間遅れます。
そこで「convertFromUtc」関数を使って、
その時間のズレを修正して、
しかも好きな日時書式を指定しています。
まず完成した数式がこれです:
日本時間の取得
convertFromUtc(utcNow(), ‘Tokyo Standard Time’, ‘yyyy/mm/dd hh:mm’)
第一引数にutcNow関数を入れて、
第二引数に変換先のタイムゾーンを入れます。
日本時間だと「’Tokyo Standard Time’」です。
半角のシングルクォーテーションマークで挟んで入れます。
他の国のタイムゾーンは下記リンクをご参照下さい。
⇒「MS 公式ページ:既定のタイム ゾーン」
第三引数でその時間を表示させたい書式を設定します。
その書き方はエクセルと同じで今回は
「’yyyy/mm/dd hh:mm’」と入れます。
「hh」はHourの時間、
「mm」はMinuteの分を表し、
これで日時をきれいに表示できます。
これも必ずシングルクォーテーションで挟んで下さい。
次が「提出者Eメール」で、
これも「動的なコンテンツ」から、
「Responders’ Email」と出てきますのでそれを選びます。
これは後でメールの送信で送信先としても使います。
その後はご自分で作ったフォームの各質問項目と
それに対するユーザーの答えを
「動的なコンテンツ」から引っ張ってくれば完成です。
OneDrive for Business:「ファイルの変換」アクション
次に「OneDrive for Business」コネクターから
「ファイルの変換」アクションを使いデータ型の変換をします。
最初の「ファイル」の項目は同じく「動的なコンテンツの追加」から
先の「ファイルの作成」アクションでできた「ID」を選びます。
「ターゲットの種類」でいくつか選択肢がありますが、
ちゃんと「PDF」があり、それを選びます。
これでさっきのHTMLをPDFに変換できるのです。(下図参照)

Office 365 Outlook:変換したファイルを添付してメールで送信する。
このデータを受け取るのに今のところ
メールで受け取るしかありません。
そこで次に「Office 365 Outlook」コネクターから
「メールの送信(V2)」アクションを使います。

宛先として直接上司のメルアドを入れたり、
もし提出者にも送りたいならさっきの
「Responders’ Email」も入れます。
そして画面左下の「詳細オプションを表示する」から、
「添付ファイル名前」と「添付ファイルコンテンツ」に、
「動的なコンテンツの追加」から
「ファイルの変換」アクションから出てきた「ファイル名」と、
「ファイルコンテンツ」を入れます。
これでPDFファイルを添付して送信できるのです。
OneDrive for Business:「ファイルの削除」アクション
最後に一時的に保存したファイルを削除するために
「OneDrive for Business」コネクターの「ファイルの削除」アクションで、
「動的なコンテンツの追加」から
「ファイルの作成」アクションで出力された「ID」を選び、
これでファイルの削除ができます。一度保存してテストをしてみましょう。
OneDriveの「ファイルの変換」アクションは日本語をPDFに変換できない。
営業日報フォームで文章を入力して、「送信」をクリックします。
Power Automateに戻って、履歴をみると、
なんと失敗しています。
結果を確認すると「ファイルの変換」アクションで止まっています。

「エラーの詳細」を読むと英語ですが、(上図参照)
PDFへの変換はサポートされていないというのです。
エラー文をもう少し読むと「LanguageNotSupported」とあります。
つまり、このアクションでは残念ながら日本語はサポートされていないというのです。
しょうがないので、編集モードで、
「ファイルの変換」アクションに戻って、
打開策として「ターゲットの種類」を画像ファイルの「JPG」に変えます。
一度保存して、またテストをします。すると今度は成功しました。
Outlookを見るとメールを受取り
添付ファイルを印刷できます。(下図参照)
これはPDFファイルと違って、画像ですので、
文章のコピペはできませんが、主目的の印刷は問題無くできます。

もし、添付ファイルから文章をコピペする必要があるのなら、
さっきの「ファイルの変換」アクションで「JPG」を「HTML」に変えるといいです。
その時は添付ファイルを開けるとブラウザが開き、
そこから文章をコピペできるし、ブラウザの印刷機能で印刷もできます。
どちらにしてもマイクロソフトフォームズで
提出された文書の印刷ができる様になりました。
これでまた業務改善のやり方が広がったのではないでしょうか。
「こちらの記事も読まれてます。」