【PowerAutomate】スケジュール済みクラウドフローを毎月1日や月〜金曜日に動かす。祝日の判定も可能。

スポンサーリンク




作業を自動化する
  • 毎月1日のみ実行したい
  • 月~金のみ実行したい
  • 奇数月のみ実行したい
  • 祝日は実行したくない

この記事では、そんな方に向けてスケジュール済みクラウドフローを好きなタイミングで動かす方法紹介します。

みずしぶき
みずしぶき

この記事を読めば、不要なタイミングでフローが動くのを防げます。

まだPowerAutomateを使った事が無いという方はこちらの記事を参考にしてください。

PowerAutomateはブラウザで操作するのでインストール無しで利用できます。Windows10ではないMacユーザも自由に使えます。

>>PowerAutomateで自動化した具体例9選<<

スポンサーリンク

通常の設定方法

標準では2つの条件を指定できます。

  • 繰り返し間隔
  • 単位

この2つの条件で指定できる実行タイミングは、

  • 毎日実行
  • 毎時実行

があります。

下記のような実行タイミングは指定できません。

  • 毎月1日のみ実行 →×
  • 月~金のみ実行 →×
  • 奇数月のみ実行 →×
  • 祝日は実行したくない →×

仕事で使う場合は月〜金だけ動かしたいという方もいると思います。
毎日実行でもいいですが、使わないタイミングは動かしたくないですよね。

今回は実行タイミングをカスタマイズする方法を説明します。

実行するタイミングをカスタマイズする

3つの手順でスケジュールをカスタマイズします。

  1. 実行したい日付(月/日/時間/曜日)を指定
  2. 現在の(月/日/時間/曜日)を抽出
  3. 1に2が含まれているか確認

カスタマイズしたフローがこちらです。3つのアクションだけなので簡単です。

3つのアクションは、トリガーになっているRecurrenceの後ろに続けて追加していきます。

この画面では3つのアクションをスコープで1つにまとめています。
スコープを使うとフローが見やすくなるのでオススメです。

アクションの設定内容は次の項目で説明します。

月を指定して実行

データ操作の「作成」アクションを追加。式を入力します。

createArray(1,3,5,7,9,11)

この式は奇数月の指定になります。数字を動かしたい月に書き換えてください。

データ操作の「作成」アクションを追加。式を入力します。

int(addHours(utcNow(),9,'%M'))

コントロールの「条件」アクションを追加。式を入力します。

contains(outputs('処理タイミング'),outputs('現在'))

いいえの場合にコントロールの「終了」アクションを追加。状態「成功」を指定します。

はいの場合には何も設定しません。

以上の設定で実行する月を指定できます。
動かしたいアクションは条件より後ろへ追加してください。

日付を指定して実行

データ操作の「作成」アクションを追加。式を入力します。

createArray(5,6,7,8,9,10,11,12,13,14,15)

この式は5~15日の指定になります。数字を動かしたい日付に書き換えてください。

データ操作の「作成」アクションを追加。式を入力します。

int(addHours(utcNow(),9,'%d'))

コントロールの「条件」アクションを追加。式を入力します。

contains(outputs('処理タイミング_2'),outputs('現在_2'))

いいえの場合にコントロールの「終了」アクションを追加。状態「成功」を指定します。

はいの場合には何も設定しません。

以上の設定で実行する日付を指定できます。
動かしたいアクションは条件より後ろへ追加してください。

時間を指定して実行

データ操作の「作成」アクションを追加。式を入力します。

createArray(9,10,11,13,14,15,16,17)

この式は9時~11時、13時~17時の指定になります。数字を動かしたい時間に書き換えてください。

データ操作の「作成」アクションを追加。式を入力します。

int(addHours(utcNow(),9,'%H'))

コントロールの「条件」アクションを追加。式を入力します。

contains(outputs('処理タイミング_3'),outputs('現在_3'))

いいえの場合にコントロールの「終了」アクションを追加。状態「成功」を指定します。

はいの場合には何も設定しません。

以上の設定で実行する時間を指定できます。
動かしたいアクションは条件より後ろへ追加してください。

曜日を指定して実行

データ操作の「作成」アクションを追加。式を入力します。

createArray(1,3,5)

この式は月、水、金曜日の指定になります。数字を動かしたい曜日に書き換えてください。
【曜日と数字の紐づけ】日=0 月=1 火=2 水=3 木=4 金=5 土=6

データ操作の「作成」アクションを追加。式を入力します。

dayOfWeek(addHours(utcNow(),9))

コントロールの「条件」アクションを追加。式を入力します。

contains(outputs('処理タイミング_4'),outputs('現在_4'))

いいえの場合にコントロールの「終了」アクションを追加。状態「成功」を指定します。

はいの場合には何も設定しません。

以上の設定で実行する月を指定できます。
動かしたいアクションは条件より後ろへ追加してください。

祝日は動かさない

データ操作の「作成」アクションを追加。式を入力します。

createArray('2022/01/01','2022/01/10','2022/02/11','2022/02/23','2022/03/21','2022/04/29','2022/05/03','2022/05/04','2022/05/05','2022/07/18','2022/08/11','2022/09/19','2022/09/23','2022/10/10','2022/11/03','2022/11/23','2023/01/01','2023/01/02','2023/01/09','2023/02/11','2023/02/23','2023/03/21','2023/04/29','2023/05/03','2023/05/04','2023/05/05','2023/07/17','2023/08/11','2023/09/18','2023/09/23','2023/10/09','2023/11/03','2023/11/23','2024/01/01','2024/01/08','2024/02/11','2024/02/12','2024/02/23','2024/03/20','2024/04/29','2024/05/03','2024/05/04','2024/05/05','2024/05/06','2024/07/15','2024/08/11','2024/08/12','2024/09/16','2024/09/22','2024/09/23','2024/10/14','2024/11/03','2024/11/04','2024/11/23','2025/01/01','2025/01/13','2025/02/11','2025/02/23','2025/02/24','2025/03/20','2025/04/29','2025/05/03','2025/05/04','2025/05/05','2025/05/06','2025/07/21','2025/08/11','2025/09/15','2025/09/23','2025/10/13','2025/11/03','2025/11/23','2025/11/24')

この式は2022~2025年の祝日の指定になります。
参考:日本の祝日・休日の日付一覧

データ操作の「作成」アクションを追加。式を入力します。

addHours(utcNow(),9,'yyyy/MM/dd')

コントロールの「条件」アクションを追加。式を入力します。

contains(outputs('処理タイミング_5'),outputs('現在_5'))

いいえの場合にコントロールの「終了」アクションを追加。状態「成功」を指定します。

はいの場合には何も設定しません。

以上の設定で祝日以外を指定できます。
動かしたいアクションは条件より後ろへ追加してください。

関数の参考:式関数のリファレンスガイド

スポンサーリンク

複数の条件を組み合わせる

【AND】全てに一致した場合に動かす

アクションを縦に並べればAND条件として機能します。

【OR】いずれかに一致した場合に動かす

アクションを横に並べればOR条件として機能します。
「並列分岐の追加」でカスタマイズするアクションを追加します。

横並びになるのでカスタマイズのアクションを追加したら、下の合流ポイントから動かしたいアクションを追加します。

まとめ

ススケジュール済みクラウドフローを好きなタイミングで動かす方法を紹介しました。

  1. 実行したい日付(月/日/時間/曜日)を指定
  2. 現在の(月/日/時間/曜日)を抽出
  3. 1に2が含まれているか確認

どんなカスタマイズも3つのアクションだけで設定する事ができます。配列に特定の文字が含まれているか確認するcontains関数の動きがポイントになります。使い方を覚えておきましょう。

PowerAutomateの記事まとめ
まだ試してないアクションがあれば見ておきましょう。
初心者向け
【初心者向け】PowerAutomateの使い方。無料で誰でも使えます。
基本的なアクション
【PowerAutomate】メールの添付ファイルをOneDriveへ保存する。
【PowerAutomate】Excelのデータをメールで送信する。
【PowerAutomate】メールを受信したらExcelにデータを入力する。
アクションの応用
【PowerAutomate】第1~5○曜日の日付を求める。
【PowerAutomate】メール本文から名前を抽出する。文字列抽出のキホン。
【PowerAutomate】ソートするフローを作る。配列の並べ替え。
【PowerAutomate】SharePointのリストから列と行をフィルターして表にする。
【PowerAutomate】ExcelからSharePointのリストに一括転記する
【PowerAutomate】SharePointのテキストファイルに改行を付けてメール送信
関数・アクション
【PowerAutomate】日付の関数まとめ。月末月初やExcelシリアル値変換など。
【PowerAutomate】Apply to eachの使い方。勝手に出てくる原因や遅い時の高速化など!

>>PowerAutomateで自動化した具体例9選<<

タイトルとURLをコピーしました