Formsを利用した問い合わせフォームやアンケートの回答、をPower Auomateを用いてSharePointリストに蓄積する際の小技シリーズです。
第三弾は任意の日付と時刻を組み合わせたい場合の格納方法について記載していきます。
はじめに
Power Automateにて「FormsのアクションとSharePointのアクションを用いて投稿内容をリストに転記する」というフローを作成する際には、基本的にFormsのアクションにて得られた動的アイテムをリストの項目に挿入することで回答を転記できます。
ただし日時についてはFormsの日付形式の回答をそのまま貼り付けると...
時刻に「09:00」が自動で登録されてしまいます。
こちらに任意の時間を設定できるようにしていきます。
準備
Forms
質問は2つ設けます。1つ目は日付形式、2つ目は短いテキスト形式として任意の時間を入力する質問とします。
時刻は必ず半角にて「hh:mm」形式で入力してもらう必要があります。
※任意の時間を質問者側である程度絞りたい場合は、以下のような単一選択の質問の回答にすることも可能です。
SharePointリスト
日付と時刻列を作成し、「日付と時刻」形式を選択しておきます。
Power Automate フローの設定
(1)Formsのトリガーとアクションを設定する
(2)「タイムゾーンの変換」アクションを設定する
基準時間は式ではなく直接ボックスに以下を記載します。
<日付回答の動的アイテム>T<時刻回答の動的アイテム>:00.0000000Z
また書式設定文字列やタイムゾーンの設定値を画像の通りに設定します。
(3)「項目の設定」アクションを設定する
前項の「タイムゾーンの変換」アクションの出力である動的アイテムの「変更後の時間」を日時列に挿入します。
以上で設定完了です。
動作確認
Formsにて任意の日付と時刻を回答してフローの実行結果を確認すると、組み合わせた日時がSharePointリストに正しく登録されています。
実際にFormsに入力した回答です。
Formsの回答を元にSharePointリストに登録されたアイテムです。
おわりに
今回は任意の日付と時刻を組み合わせたい場合の小技紹介でした。
実は、以前はFormsの日付形式のデータを転記する場合、動的アイテムを挿入するだけではエラーが発生していました。そのため、式でformatDateTime関数を使用して変換をする必要があったのですが、現在は改善されて動的アイテムをそのまま挿入するだけで完了するようになりました。
また、今回はFormsから時刻をテキスト形式で入力する形にしました。Formsの日付質問もSharePointリストの日付と時刻列のように、日付のみか日付と時刻の組み合わせなのか選択できるように改善されるといいのですが、当分は今回紹介した方法にて登録するしかないようです。