- 毎月1日のみ実行したい
- 月~金のみ実行したい
- 奇数月のみ実行したい
- 祝日は実行したくない
この記事では、そんな方に向けてスケジュール済みクラウドフローを好きなタイミングで動かす方法紹介します。
この記事を読めば、不要なタイミングでフローが動くのを防げます。
通常の設定方法
標準では2つの条件を指定できます。
- 繰り返し間隔
- 単位
この2つの条件で指定できる実行タイミングは、
- 毎日実行
- 毎時実行
があります。
下記のような実行タイミングは指定できません。
- 毎月1日のみ実行 →×
- 月~金のみ実行 →×
- 奇数月のみ実行 →×
- 祝日は実行したくない →×
仕事で使う場合は月〜金だけ動かしたいという方もいると思います。
毎日実行でもいいですが、使わないタイミングは動かしたくないですよね。
今回は実行タイミングをカスタマイズする方法を説明します。
実行するタイミングをカスタマイズする
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つのアクションだけで設定する事ができます。配列に特定の文字が含まれているか確認するcontains関数の動きがポイントになります。使い方を覚えておきましょう。
PowerAutomateのおすすめ記事
人気ページ
Apply to eachの使い方
アレイのフィルター処理の使い方
日付関数の使い方
エラーを無視する方法
メールの内容をExcelへ転記
メール本文から名前を抽出
>>PowerAutomateの記事一覧を見る<<
お気に入り必須!公式ページ
Microsoft Power Automate
式関数のリファレンス
コネクタのリファレンス
Excel Online (Business)のリファレンス