LoginSignup
2
1

PowerAutomate: スケジュール実行を平日8:00-18:59 の間だけ動かす

Last updated at Posted at 2023-07-23

背景

Excel Action である Run Scripts が正規表現利用にとても便利
ガンガン使ってたら実行制限に引っかかるようになってきたので、TriggerCondition を設定して実行量を減らすことにした。

Run Scripts は通常のActionとは別に、実行制限が別途ある為
image.png
アクションの既知の問題と制限

Trigger Condition を確認するのは、以下で楽々に

Trigger Condition

Trigger で以下の部分に設定を行う
image.png

@and(
    greaterOrEquals(int(convertFromUtc(trigger()?['startTime'], 'Tokyo Standard Time', 'HH')), 8),
    lessOrEquals(int(convertFromUtc(trigger()?['startTime'], 'Tokyo Standard Time', 'HH')), 18),
    and(
        not(equals(convertFromUtc(trigger()?['startTime'], 'Tokyo Standard Time', 'ddd'), 'Sun')),
        not(equals(convertFromUtc(trigger()?['startTime'], 'Tokyo Standard Time', 'ddd'), 'Sat'))
    ) 
)

Trigger Condition については、以下で

解説

  • 今回の例は、Recurrence Trigger の例
  • Recurrence の場合、startTime で、Trigger 起動時刻が取得できる
  • convertFromUtc でUTC から JST に変換しつつ、時刻だけ取得
    • 分まで制御したい場合はこの辺から修正必要
    • 詳細は convertFromUtc
  • greater/less をする場合、型合わせが必要なので、int() にしておく
    • 多分、'9' みたいにして文字列に合わせてもいける筈だけど
  • 曜日は、土曜日と日曜日を外すだけ

あとがき

とりあえず、一日の動作上限から考えると

  • 1600 / 11 [hours] = 145 [times/hour]
    ってことで

五分間隔なら、12回程度は使えるってところで、
結局は、Run Scripts使いまくりの現状を見直す必要あり・・か・・ :laughing:

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1