このページの本文へ

前へ 1 2 3 次へ

松本典子の「はじめよう!Azure Logic Apps/Power Automateでノーコード/ローコード」 第56回

Outlookの「日本の祝日」カレンダーを参照して、祝日の実行をスキップさせる方法

Power Automateで“祝日を除く”平日だけフローを自動処理させるには?

2025年12月10日 11時00分更新

文● 松本典子 編集● 大塚/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

3-4. アクションの設定:イベントのカレンダー ビューの取得 (V3)

 次に、Outlookに追加した「日本の祝日」カレンダーから情報を取得します。先ほどの「作成」アクションの下にある「+」をクリックすると、アクションを追加する左ペインが開きます。

 検索窓に「Outlook」と入力し、「Office 365 Outlook」コネクタの「詳しく見る」をクリックして、アクション一覧を表示します。この一覧から「イベントのカレンダー ビューの取得 (V3)」アクションをクリックします。

アクションの設定:イベントのカレンダー ビューの取得 (V3)アクション

 このアクションに設定する内容は次のとおりです。

 (1)カレンダーID:「日本の休日」が表示されるので選択
 (2)開始時刻:「/」キーを押し「動的コンテンツの挿入」を選んだうえで、「作成」アクションの動的なコンテンツである「出力」を入力
 (3)終了時刻:「/」キーを押し「式の挿入」を選んだうえで、以下の内容をコピー&ペースト

formatDateTime(outputs('作成'),'yyyy-MM-ddT23:59:59')

 上記の設定によって、Outlookの「日本の休日」カレンダーで、「開始時刻(=フロー実行日の午前0時0分0秒)」から「終了時刻(=フロー実行日の午後23時59分59秒)」の間に登録されているイベントを取得しています。その日が祝日の場合、カレンダーのイベントには祝日の名前が登録されています。

3-5. アクションの設定:条件

 次に「条件」アクションを追加し、「今日(フロー実行日)が祝日かどうか」の判定を行います。先ほどと同じように「+」をクリックして、左ペインの検索窓に「条件」と入力し、「コントロール」コネクタカテゴリにある「条件」アクションをクリックします。

アクションの設定:条件アクション

 このアクションに設定する内容は次のとおりです。

 (1)左辺:「/」キーを押し「式を挿入する」にして、以下の内容をコピー&ペーストし、「追加」ボタンをクリック

length(body('イベントのカレンダー_ビューの取得_(V3)')?['value'])

 (2)中央:プルダウンメニューから「より大きい」を選択
 (3)右辺:「0」を入力

 「3-4. アクションの設定:イベントのカレンダー ビューの取得 (V3) 」アクションを実行すると、その日が祝日ならば「value」の値として祝日の名前が出力され、祝日でなければ何も出力されません(“文字数ゼロ”の出力となります)。

 上記の「条件」アクションではこれを利用して、値の文字数をカウントするlength関数を使い「文字数が0より大きい(1文字以上)かどうか」を基準として、「今日(フロー実行日)が祝日かどうか」を判定しています。

3-6. 祝日を除いた平日のみ処理を実行する

Falseに処理を設定

 今回の記事は「“祝日を除く”平日にフローを自動実行させる」方法のご紹介がメインテーマなので、このあとに実行するフローは何でもかまいません。ここでは簡単に、「Teamsにメッセージを投稿する」ことにしました。

 「3-5. アクションの設定:条件」の結果は、その日が祝日である場合は「True(真)」に、祝日ではない場合は「False(偽)」になります。

 そこで、「False」の枠内にある「+」をクリックし、「Teams」コネクタの「チャットまたはチャネルでメッセージを投稿する」アクションを追加しました(このアクションの設定方法については割愛します)。

 このようなフローを作ることで、トリガーが起動する「平日のみ」、さらに「祝日を除く」という条件付きで、フローが自動実行できるようになりました。

さいごに

 Power Automateの「スケジュール済みクラウドフロー」は、日々の定期作業を自動化するうえで非常に便利な機能です。今回はOutlookで提供されている「祝日」カレンダーと組み合わせましたが、ほかにも、たとえば「会社の公休日」カレンダーを作って組み合わせれば、“会社の公休日を除く平日だけ”確実に自動実行するといった処理も実現できるでしょう。

 また、今回はサンプルのフローとしてTeamsへのメッセージ投稿を行いましたが、社内外への通知の送信、定期的なデータ処理、リマインダーの発行など、さまざまな業務の自動化に応用できます。日々の業務をより確実に、そして効率的に進めるためにも、ぜひ今回の方法を活用してみてください!

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事
アクセスランキング
ピックアップ