拾って落とすエンジニア活動ログ

各種技術や周辺知識のTIPS、振り返り

PowerAutomateを使って、受信したメール本文内容からOutlookカレンダーへの登録(後編)

こんにちわ。

前回の記事の続きです。

yb300k.hateblo.jp

 

※前回作りかけていたフローを見直しました。以下が正になります。

 

f:id:yb300k:20210629083502p:plain

f:id:yb300k:20210629083547p:plain

 

前半部分は、前回説明した通り、メール受信し、本文を一行ずつ分解する準備パートでした。

変数の定義をする部分でもあります。(分岐した後では変数の定義ができなかったので)

 

後半の 設定

後半では、「条件」を使って分岐します。

まずは「・」で始まっているか ⇒ Yesなら、時刻文字列を取得、フラグをtrueに

フラグがtrueか⇒trueなら、タイトル文字列を取得、フラグをfalseにしてスケジュールを登録

 

スケジュール登録には、Office365 Outlook のイベントの作成(V4)を使います。

f:id:yb300k:20210629084415p:plain

 

 

このイベントの作成が、開始日付、時刻の指定に

2021-06-29T10:00:000 

という形式の文字列を使う必要がありますので、以下の数式を使いました。

開始時刻

concat(formatDateTime(convertFromUtc(utcNow(),'Tokyo Standard Time'),'yyyy-MM-ddT'),substring(variables('時刻文字列'),1,5),':00')
 
 
終了時刻
concat(formatDateTime(convertFromUtc(utcNow(),'Tokyo Standard Time'),'yyyy-MM-ddT'),substring(variables('時刻文字列'),9,5),':00')
 
 
1)utcNow()で現在時刻を取得します(UTCです)。
 
2)上記1)を東京時刻に変換し、そこからyyyy-MM-ddTに変換することで日付にします。
 
3)メール本文から取り出した、「・09:00 - 09:05」の、開始または終了時刻をsubstringでちぎります
 
4)concatでくっつけます。最後に秒指定 ':00' もくっつけます。
 
5)2分前アラームを指定して登録します。
 

f:id:yb300k:20210629085212p:plain

 
参考になれば幸いです。