Power Automateを動画で学ぼう!Udemyキャンペーン中

Power AutomateでOutlook予定表のイベント情報を取得する方法

目次

Power AutomateでOutlook予定表のイベント情報を取得する方法について解説

この記事では、 Power AutomateでOutlook予定表に登録されたイベントをExcelに書き出す方法について解説します。(この記事ではOutlookの予定をイベントと呼びます。)

作成するフローと3つのステップ

じょじお

少し長くなってしまったので3つの記事に分けて解説しますね。

今回は、下記の3つのステップでPower Automateフローをつくっていきます。この記事ではステップ1を解説します。

  1. イベントを取得する処理をつくる。(本記事で解説)
  2. Power Automateで取得したイベント時間を日本時間に変換する処理をつくる。(解説記事はコチラ
  3. Excelに書きだす処理をつくる。
じょじお

ポイントはステップ2の時間の変換処理です。Power Automateで時間を読み込むとUTC時間に変換されちゃいます。このため、Excelに書き込む前に日本時間に戻してやる必要があります。

フロー完成図 と 成果物(出力したExcelファイル)
Power Automateフロー完成図
Power Automateフロー完成図
じょじお

追加するアクションはループアクション含めて6つです。30分ほどで作成できるかなと思います。

Excelへの出力結果
フロー実行後の出力結果(Excel)
じょじお

上の図はPower AutomateからExcelへ出力した結果ファイルです。

Power Automateでフローを作成する

Power Automateのフローの作成

STEP
インスタントクラウドフローの作成

今回はユーザが任意のタイミングでフローを実行できる、「インスタントクラウドフロー」の中にある「手動でフローをトリガーします。」というトリガーを使います。

インスタントクラウドフローの作成

▲作成 → インスタントクラウドフローをクリックします。

Power Automateフローの作成方法2

▲フロー名を入力 → 手動でフローをトリガーします。

STEP
Outlookのイベント(予定)の取得アクションの追加
Outlookコネクタを接続する。

▲アクションを追加します。

「Office365」コネクタの中にある「イベントの取得(v4)」をクリックします。2021年8月現在、イベントの取得(v3)とイベントの取得(v4)がありますが、古い方は廃止になることがあるので新しいv4を使っておけば良いかなと思います。

カレンダーの選択

▲自分のMicrosoftアカウントに作成済みのカレンダーが一覧されますので、その中からターゲットとなるカレンダーを選択します。(Outlookデフォルトカレンダーはここでは「Calender」と表示されます。)

ここではデフォルトカレンダーであるCalenderを選択します。

STEP
フィルタークエリを設定する。
詳細オプションを表示する

▲「詳細オプションを表示する」をクリックします。

フィルタークエリの設定

▲「フィルタークエリ」にパラメータを入力します。

Power Automateのフィルタークエリとは?

フィルタークエリとは

簡単に説明すると、どういう条件でイベントを取得するかっていう条件です

ここを空白にしてイベントを取得すると、過去のデータからドバーっと取得し始めちゃうので特定のイベントを探すのが大変ですし、一度に取得できる上限数制限によってエラーになってしまう可能性もあります。そこで、フィルタークエリを使って必要なイベントだけを取得します。

フィルタークエリとは欲しいイベントだけ取得するための条件文。

指定方法は、Power Automate独自の記述方法で指定します。次のセクションでフィルタークエリの構文について解説します。

フィルタークエリを特定の日付で指定する方法

フィルタークエリを特定の日付で指定する方法



イベント開始日時はstart/dateTime、イベント終了日時はend/dateTimeと書きます。

例文

イベント開始日時が2021年8月1日以降
start/dateTime ge ‘2021-08-01’

下記のように時間を含めて書くこともできます。
start/dateTime ge ‘2021-08-01T00:00:00.0000000’

▼他にも、次のような演算子が利用できます。

演算子説明
ltより小さい(lt:less thanの略)
le未満または等しい(le:less than or equal toの略)
gtより大きい(gt:greater thanの略)
geより大きいまたは等しい(ge:greater than or equal toの略)
eq等しい(eq:equalの略)
ne等しくない(ne:not equalの略)
比較演算子

下記の条件演算子も使えます。

演算子説明
〇〇 and □□〇〇でも□□でもある。
〇〇 or □□〇〇か、□□のどっちかである。あるいは両方である。
論理演算子

例文

イベント開始日時が2021年8月1日~2021年8月31日
start/dateTime ge ‘2021-08-01’ and start/dateTime le ‘2021-08-31’

フィルタークエリを日付以外で指定する方法

フィルタークエリを日付以外で指定する方法

下記の関数を使えば、イベント名やイベント出席者などで検索できます。

演算子説明
startswith (パス, ‘文字列’)(文字列)からはじまる
substringof (‘文字列’, パス)(文字列)を含む
endsWith(文字列)で終わる

パスとは、イベントが持つ情報に含まれる要素です。イベント名、イベントの場所、イベント開催者、イベント開始日時などのことです。

パスの例
subject(イベント名)、location(イベントの場所)、organizer(イベント開催者)

例文

ミーティングという言葉から始まるイベント名
startswith(subject , ‘ミーティング’)

イベント開始日時が2021年8月1日~2021年8月31日、且つミーティングという言葉から始まるイベント名
startswith(subject , ‘ミーティング’) and start/dateTime ge ‘2021-08-01’ and start/dateTime le ‘2021-08-31’

どのようなパスがあるかは公式ドキュメント(複数のイベントを取得するアクション)を確認してください。(「GraphCalendarEventClientReceive」のところ)

フィルタークエリーについてはこちらの公式ドキュメント(クエリパラメータを使用して応答をカスタマイズする)も確認してください。

並び替え順を指定方法は?

STEP
並び替え順を設定する。
並び替え順

▲並び替え順を指定します。

並び変え順もPower Automate独自の書き方になります。指定方法は簡単です。

キーとなるパスを指定してasc(ascending:昇順)かdesc(descending:降順)かを指定するだけです。カンマで区切ることで、複数のキーで並び替えができます。

例文

イベント開始日時を昇順で並べる。
start/dateTime asc

イベント開始日時を降順で並べたあと、イベント名を昇順で並べる。
start/dateTime desc , subject asc

イベントの取得アクションのテスト

イベントの取得ができるか確認しましょう。

STEP
テストと実行
テストの実行

▲フローのテストをクリックします。

Power Automateのテスト方法2

▲手動を選択しテストをクリックします。

Power Automateテスト方法3

▲フローの実行をクリックします。

STEP
実行結果ログを確認
ログの確認方法

▲フローが実行されましたら、イベントの情報が取得できているかを確認します。

ログの見方

▲イベントログの確認

図のようにイベントが取得できました。「未加工出力の表示」で確認できるログはJSONというデータ形式で出力されます。

JSONとは、キーとバリューをセットにデータを保持するデータ形式のことです。キーとバリューを:(コロン)で接続してペアにして格納します。アプリケーションの間でデータをやりとりする際に便利なので世界的によく使われています。

{
"subject": "仕事A",
"start": "2021-08-10",
"end": "2021-08-11",
"organizer":"poko@gmail.com",
}

▲たとえば上記のJSONの例でみると、Subjectというキーに”仕事A”というバリューが入っています。仕事AというOutlookイベントが取れたのだなぁということがわかります。仕事Aというイベントの開始時間は”2021-08-10”なのだとわかります。キーが英語になっているのでわかりにくいかとは思いますが、なんとなくどれがどのOutlookイベント情報にあたるかわかるのではないかなと思います。わからないときは ドキュメントを確認しましょう。

{から}までが、がひとつのOutlookイベント情報です。

さいごに

以上でPower Automateでイベントの取得について解説しました。

冒頭でも解説したように、Power Automateのログを見てみると、実際のOutlookに登録されているイベントの開始時間・終了時間とログの時間に差がでてしまっているかと思います。これは、Power AutomateがUTC(世界標準時)で時間を取り扱っているためです。

このままExcelに書き込んでもズレた時間をそのまま出力してしまうため、日本時間に変換する必要があります

次回の記事では、「Power Automateで取得したUTC時間を日本時間(UTC+9)に変換する」方法について解説します。

Power Automate学習教材

Power AutomateをKindleで学びたい方はコチラ

▲Power AutomateのKindle書籍です。

▲Kindleと紙媒体両方提供されています。クラウドフローもデスクトップフローも、どちらも自動化したい方におすすめです。

Power Automateを動画で学びたい方はコチラ

▲Udemyで唯一のPower Automateに関する講座です。セール時は1500円~2000円弱の価格になります頻繁にセールを実施しているので絶対にセール時に購入してください。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。

ノンプログラマーでも自動化スキルを身につける。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
目次
閉じる