Microsoft365 Power Automate

【Power Automate】営業日に実行するスケジュールフロー(平日のみ、祝日除く、年末年始除く)

 

相談者
Power Automateのスケジュール済みクラウドフローを営業日(会社がある日)に実行するようにしたいです。
年末年始の休みが決まっている会社であれば、平日のみ、祝日除く、営業日にフローが実行するようにできます。
龍之介

 

この記事は、Power Automateで自動化するフローの作成手順になります。
長い式をこの記事からコピーして作成してください。

本記事の内容

  • スケジュールの条件(営業日)
  • フロー作成手順

 

このフローの手順は、YouTubeにも公開しています。
式はブログからコピーしてYouTubeを見ながら作業をしてもOKです。
龍之介

 

スケジュール(営業日)の条件

 

フローを作成する前に(平日のみ、祝日を除く、営業日)の条件について説明します。

このフローは、設定を毎年変えなくてもいいフローです。

このフローが当てはまる会社の条件は3つです。

ご確認ください
  • 平日の営業日は必ず月〜金
  • 祝日は必ず休み
  • 年末年始の休みは、12/30〜1/4までと決まっている

 

会社の創立記念日(その日が土日祝だったら翌日休み)、お盆休み(年によって違う)は、固定じゃなかったりするので、毎年条件の追加が必要です。
龍之介

 

フロー作成手順(トリガー:繰り返し)

 

フローを作成します。まずは、平日のみ繰り返し実行するフローにします。
1つのフローで9:15と17:45に実行するフローで説明します。
龍之介

 

Power Automate営業日に実行するフロー

スケジュール済みクラウドフローをトリガーにして、平日のみ実行するフローにします。

step
フロー作成(トリガー)

スケジュール済みクラウドフローから、繰り返し間隔を1週間にすると設定曜日を設定することができます。

①「作成」→「スケジュール済みクラウドフロー」をクリックします。

②フロー名に『営業日に実行するフロー』、開始日時を設定、繰り返しを「1週間」、設定曜日を「月〜金」のみに「作成」をクリックします。

③「Recurrence」(繰り返し)を展開し、「編集」→「詳細オプションを表示する」をクリックすると画像のように展開されます。

④タイムゾーンを「(UTC+9:00)大阪、札幌、東京」、設定時刻(時間)「9」「17」、設定時刻(分)『15,45』を入力します。

プレビューをみると毎週月〜金の9:15,9:45,17:15,17:45に実行するフローになっています。
これは、トリガー条件を使っていくので、ステップ4で説明します。
龍之介

 

step
祝日をOutlookから取得

トリガーの後に祝日を取得します。祝日の取得は、Outlookの「日本の休日」のカレンダーから取得します。
トリガーの日を日本時間にしてyyyy-MM-ddT00:00:00の日付書式にする(開始時刻、終了時刻)に追加します。

⑤「+新しいステップ」→「イベントのカレンダービューの取得(V3)」を追加します。
⑥カレンダーIDに「日本の休日」を選択し、開始時刻、終了時刻に下記式を追加します。

 
convertFromUtc(utcNow(),'Tokyo Standard Time','yyyy-MM-ddT00:00:00')

 

step
条件は、祝日の要素数

イベントカレンダービューの取得のアクションで「日本の祝日」が取得できなければ、営業日と判断できます。
length関数を使って要素数を取得します。

⑦「+新しいステップ」→「条件」を追加します。
⑧左側の「値の選択」に下記式を追加します。右側の「値の選択」に『0』を入力します。
真ん中は、「次の値に等しい」のままにします。

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

⑨「いいえの場合」の中の「アクションの追加」→「終了」を追加します。状態を「成功」にします。

step
トリガー条件を設定

ステップ3の「条件」に年末年始の条件を追加してもいいのですが、トリガー条件に1/5〜12/29の期間実行する「トリガー条件」を追加します。
それから、9:15、17:45に実行するトリガー条件も追加します。

⑩「Recurrence」の右側にある三点リーダー「・・・」→「設定」をクリックします。

⑪トリガー条件の「+追加」をクリックします。

⑫最初の条件日付を追加します。
1/5 以上、12/29以下が条件です。

 
@and(greaterOrEquals(convertFromUtc(utcNow(),'Tokyo Standard Time','MM-dd'),'01-05'),lessOrEquals(convertFromUtc(utcNow(),'Tokyo Standard Time','MM-dd'),'12-29'))

 

⑬「+追加」をクリックして、次の条件時間を追加します。
上の式と同じように9:10以上、9:20以下と17:40以上、17:50以下とします。

 
@or(and(greaterOrEquals(convertFromUtc(utcNow(),'Tokyo Standard Time','HH:mm'),'09:10'),lessOrEquals(convertFromUtc(utcNow(),'Tokyo Standard Time','HH:mm'),'09:20')),and(greaterOrEquals(convertFromUtc(utcNow(),'Tokyo Standard Time','HH:mm'),'17:40'),lessOrEquals(convertFromUtc(utcNow(),'Tokyo Standard Time','HH:mm'),'17:50')))

⑭「完了」をクリックします。

 

これで営業日に実行するフローは完成です。一番下の「新しいステップ」からアクションを追加してください。
もし、創立記念日、お盆休みなどがあれば条件に「または」で追加してください。
龍之介

 

フロー全体

 

まとめ

今回は、営業日に実行するスケジュールフローを説明しました。

トリガー条件を設定することで、フローが実行する期間と時間を設定することができます。

祝日はトリガー条件で設定できないので、Outlookの「日本の休日」のカレンダーから取得、length関数を使って要素数を条件しました(フローは実行されるけど終了する)。

もし、お盆休みや会社の決まった休みがある場合は、コントロールの「条件」に「And」で追加してください。

条件への追加は、例えば5/10が創立記念日であれば05-10にしてください。

(今日が05-10と等しくない)という条件にします。

今日の式は、トリガー条件で使っているのでそちらを参考にしてください。

最後に、条件の続きにファイルのアクションを追加するときは、電子書籍を参考にしてください。

 

目次

はじめに

添付ファイルメールを送信するフロー

OneDrive添付ファイルメール
ファイルが作成されたとき(添付ファイル1つ)
選択したファイルの場合(添付ファイル複数)

SharePointリスト添付ファイルメール
項目が作成されたとき(添付ファイル複数)
選択したアイテムの場合(添付ファイル複数)

SharePointドキュメントライブラリ添付ファイルメール
ファイルが作成されたとき(プロパティのみ)(添付ファイル1つ)
選択したファイルの場合(添付ファイル複数)

Forms添付ファイルメール
新しい応答が送信されるとき(OneDrive添付ファイル複数)
新しい応答が送信されるとき(SharePoint添付ファイル複数)

Teams投稿添付ファイルメール
チャネルに新しいメッセージが追加されたとき(添付ファイル複数)
選択されたメッセージに対して(V2)(添付ファイル複数)

おわりに

 

本の説明

フローが実行されるトリガーは、OneDrive、SharePointリスト、SharePointドキュメントライブラリ、Forms、Teamsとファイルがあるアプリケーションです。Power Automateクラウドには、自動で動き始める「自動化したクラウドフロー」、フロー実行ボタンを手動で押す「インスタントクラウドフロー」があります。複数ファイルを添付には? 大きいファイルを送るには?など「自動」と「手動」どちらを使えばいいか、Demo動画を視聴してから仕事で使えるフローを作成できます。

 

kindleの読み放題を契約している人は、購入しなくても読み放題プランで読むことができます。
無料体験でも読むことができます。
龍之介

>>「Power Automate添付ファイルメール送信」を読み放題プラン(初回30日無料)で読む

 

本書は、デモ動画、フロー補足動画を公開しています。
龍之介
【読者ページ】Power Automateクラウドフロー添付ファイルメール送信

続きを見る

-Microsoft365, Power Automate

© 2022 越後屋ブログ店