Power Automate クラウドで時刻の比較

Power Autoamteクラウド版を使って時刻の比較をする方法です。


時間との比較

定期的に繰り返し処理を行う最中に特定の時間だけ実行させたいと思いました。

そういう場合どうするんだろうと検索したら、次のページが見つかりました。

Time comparison with condition

なるほど。現在時刻から時間だけを文字列で取り出し、それを整数にしてから比較するとは。

私も試してみました。

条件の結果がYesなら、フローを無効化します。

Power Automate 繰り返し処理をしながら一回だけ実行


分まで含めた比較

これ、7時間30以降とかはどう処理するんだろうという疑問はあるけれど、それは時刻を実数に変換するなどの方法があるのでしょう! 多分…

というわけで、検索してみたところ次のQAが見つかりました。

How to convert string HH:MM in integer

add(mul(int(outputs('Split_Hours_and_minutes')[0]),3600),mul(int(outputs('Split_Hours_and_minutes')[1]),60))

それ専用の関数などがあるのかと思いましたが、原始的な計算を行うしかないのかもしれません…

例えば、HHはそのまま整数に変換し、MMは60で割って小数として表現することになりそうです。比較する際には、両方を足してから比較することになります。

VBA的に書くなら、CInt(Left(uHHMM, 2)) + CDbl(Right(uHHMM, 2)) でしょうか。

Powre Autoamteなら次のようになるのでしょう。多分。

add(int(outputs('Split_Hours_and_minutes')[0]), div(int(outputs('Split_Hours_and_minutes')[1]), 60))

これで、時:分を実数に変換できるので、 15.5 (午後3時半)などと比較することができるようになると思います。


コメント

アクセス数の多い投稿

セキュリティ対策ソフトのノートンが詐欺ソフトまがいになってしまってショック

ZIPファイルを開こうとすると、展開を完了できません、と言われる

Excel 2019 クエリが原因で日本語入力の一文字目が勝手に確定する

オカムラ家具のOAチェアー、コンテッサを分解清掃

突然滅茶苦茶遅くなったPCがWindows Updateのキャッシュクリアで復活

Excelのテーブルに行や列を挿入する際のエラー

ChatGPTが日本語からVBAのコードを生成できてたまげる

Windows セキュリティーのビックリマークが消えない

Power Automate Desktopでブラウザでダウンロードしたファイルを処理する

Excel VBAからODBCを使ってデータを簡単に取得する