見出し画像

Power Automate Desktopによる自動化【プログラミング編】

はじめに

目的、導入編につきましては前回の記事をご覧いただければと思います。

今回は、if文、for文を利用した「指定時間になったら実行」を作っていきたいと思います。

プログラムの世界では、if文、for文があればどんな処理でも実現可能といわれるくらい基本のものとなります。


if について

もし〇〇であれば、△△の処理をするという意味となります。

今回は、もし「現在の時刻が3:00」であれば、「メッセージを表示」の処理をするといった具合に利用します。


1. まず、お好きな名前でフローを新規作成してください。
(今回は、カッコー時計としておきます。)

画像1

2. 左のリストから、「日付 > 現在の日時を取得」をドラック&ドロップします。
特に何も書き換えずに保存してください。

画像3

画像4

3. 左のリストから、「条件 > if」をドラック&ドロップします。
最初のオペランドを「%CurrentDateTime.Hour%」
演算子を「と等しい(=)」
2番目のオペランドを「3」
のように変更して保存してください。

画像2

画像5

画像6

if CurrentDateTime.Hour = 3 then と表示されていれば次に進んでください。


4. 前回と同様に「メッセージを表示」を用意してください。
内容は何でも構いません。

if文の外にありますと、いつでも表示できる状態となってしまいますので、「メッセージを表示」はif文の中に入れるようにしてください。

画像7

ちなみに、私は要所要所で自分をほめることでモチベーションを維持しています(笑)


5. 前回と同様に実行してみてください。
今が深夜3時台でなければ「何も表示されない」と思います。

しかし、右側のフロー変数に着目しますと、現在の時刻が反映されているようなので「実行はされた」と言えます。

画像8


6. 今度は、if文をダブルクリックで編集しまして、
2番目のオペランドを「現在の時刻と合わせた数字」にしてみてください。

画像9

その状態で再度実行しますと、メッセージが表示される(if文の中身が実行される)と思います。


for文について

〇〇を繰り返すという意味となります。

今回は、

「現在の日時を取得」
「if CurrentDateTime.Hour = 3 then」
 「メッセージを表示」
「60秒待機」

の処理を繰り返すといった具合に利用します。


1. 先ほどの続きで、「ループ > Loop」をドラック&ドロップして追加します。
開始値を「1」
終了を「100」
増分を「1」
と指定することで1~100を1刻みで繰り返す(100回繰り返す)意味になります。

画像10

画像11

2. ループの上だけを選択して、一番上に持っていってください。
Loop~Endで囲まれたら成功です。

画像12


3. 左のメニューから「遅延 > Wait」をドラック&ドロップしてください。
1が現実の1秒に相当しますので、60としてください。

画像13

画像14

追加場所は、LoopのEnd(緑)の一つ上に設定します。

画像15


4.  if文を改良します。分刻みのもし判定をしたいので、もうひとつif文を追加して、入れ子の状態にしてください。
3:34分のとき、メッセージを表示といった内容になるかと思います。

画像16


5. それでは実行してみてください。
カッコー時計が鳴いてくれるはずです。

画像17


最後に

お疲れ様でした。
以上をもちまして基本講座は終了です。

次回は実践編に突入しまして、slack日報の自動投稿と
設計の考え方について解説できたらと思います。


次回 Slack編

サポートしてくださるお気持ちだけで嬉しいです。