Power Automate Desktopによる自動化【プログラミング編】
はじめに
目的、導入編につきましては前回の記事をご覧いただければと思います。
今回は、if文、for文を利用した「指定時間になったら実行」を作っていきたいと思います。
プログラムの世界では、if文、for文があればどんな処理でも実現可能といわれるくらい基本のものとなります。
if について
もし〇〇であれば、△△の処理をするという意味となります。
今回は、もし「現在の時刻が3:00」であれば、「メッセージを表示」の処理をするといった具合に利用します。
1. まず、お好きな名前でフローを新規作成してください。
(今回は、カッコー時計としておきます。)
2. 左のリストから、「日付 > 現在の日時を取得」をドラック&ドロップします。
特に何も書き換えずに保存してください。
3. 左のリストから、「条件 > if」をドラック&ドロップします。
最初のオペランドを「%CurrentDateTime.Hour%」
演算子を「と等しい(=)」
2番目のオペランドを「3」
のように変更して保存してください。
if CurrentDateTime.Hour = 3 then と表示されていれば次に進んでください。
4. 前回と同様に「メッセージを表示」を用意してください。
内容は何でも構いません。
if文の外にありますと、いつでも表示できる状態となってしまいますので、「メッセージを表示」はif文の中に入れるようにしてください。
ちなみに、私は要所要所で自分をほめることでモチベーションを維持しています(笑)
5. 前回と同様に実行してみてください。
今が深夜3時台でなければ「何も表示されない」と思います。
しかし、右側のフロー変数に着目しますと、現在の時刻が反映されているようなので「実行はされた」と言えます。
6. 今度は、if文をダブルクリックで編集しまして、
2番目のオペランドを「現在の時刻と合わせた数字」にしてみてください。
その状態で再度実行しますと、メッセージが表示される(if文の中身が実行される)と思います。
for文について
〇〇を繰り返すという意味となります。
今回は、
「現在の日時を取得」
「if CurrentDateTime.Hour = 3 then」
「メッセージを表示」
「60秒待機」
の処理を繰り返すといった具合に利用します。
1. 先ほどの続きで、「ループ > Loop」をドラック&ドロップして追加します。
開始値を「1」
終了を「100」
増分を「1」
と指定することで1~100を1刻みで繰り返す(100回繰り返す)意味になります。
2. ループの上だけを選択して、一番上に持っていってください。
Loop~Endで囲まれたら成功です。
3. 左のメニューから「遅延 > Wait」をドラック&ドロップしてください。
1が現実の1秒に相当しますので、60としてください。
追加場所は、LoopのEnd(緑)の一つ上に設定します。
4. if文を改良します。分刻みのもし判定をしたいので、もうひとつif文を追加して、入れ子の状態にしてください。
3:34分のとき、メッセージを表示といった内容になるかと思います。
5. それでは実行してみてください。
カッコー時計が鳴いてくれるはずです。
最後に
お疲れ様でした。
以上をもちまして基本講座は終了です。
次回は実践編に突入しまして、slack日報の自動投稿と
設計の考え方について解説できたらと思います。
次回 Slack編
サポートしてくださるお気持ちだけで嬉しいです。