見出し画像

Power Automate Desktopによる自動化【Slack編】

はじめに

slackで業務を報告したり、勤怠を報告している方はいますでしょうか。
私の場合は、Teamsを利用していますが、Slackでも同じようなことが再現できるためそちらで紹介していきます。

SlackもTeamsもAPI(Application Programming Interface)を利用できるため、自動投稿であったりbotのような機能は、そちらで実現できます。

しかし、会社で利用しているためAPIキーが発行されていない等のことがあるため、Power Automate Desktopでの実現を目指します。


内容

今回のために動画を用意いたしました。
まずは、そちらで「どんな処理になるのか」をご確認いただければと思います。

https://youtu.be/KkB41lVXRXg


画像8


解説

1. 現在の日付を取得します。

3. 「Webオートメーション > 新しいChromeを起動する」にて
Yahooカレンダーにアクセスします。
その際に、

date=%CurrentDateTime.Year%%CurrentDateTime.Month%%CurrentDateTime.Day%

とすることで、今日の予定にアクセスしています。

画像2


5. 「Webオートメーション > Webデータ抽出 > Webページからデータを抽出する」にて、今日の予定一覧を取得します。

画像4

上記の画面を出した状態で、ブラウザをフォアグラウンド(手前に表示)して、赤枠が出る状態にします。

欲しい箇所になっているとき、右クリックからテキストを選択すると、抽出プレビュー画面に追加されます。

画像3

画像5

その状態で終了、保存をしてください。


7. 一旦、取得した内容を表示しています。
プログラミングでは、小さい単位で完結した処理を連ねるというイメージが必要です。
始めから大規模な処理を作れる人はいません。
地味な作業となりますがコツコツ積み上げていくほかありません。

下記フロー図は、Yahooカレンダーのデータが流れを示しています。
左側半分ができているイメージです。

画像6

画像7


8. 7.で表示しているボタンを、OKを押した場合に次の処理をする、if文としています。

画像8


10. 「システム > アプリケーションの実行」にて、Slackを立ち上げています。

画像9


12. ここからが、Power Automate Desktopの真骨頂と言えます。
Web画面を自動で操作する内容になります。

「UIオートメーション > Windows > ウィンドウの移動」にて、Slack画面を50x50の位置に移動させます。

画像10

ウィンドウの指定は、プルダウンメニューから、新しいUI要素の追加を選択します。
Slackのバーにカーソルを合わせ、Ctrl + 左クリックにて要素を追加します。
その後、完了を押します。

画像11

画像12

ウィンドウの上部バーがサイズや移動に関係していると覚えていただければいいと思います。


14. 「マウスとキーボード > マウスクリックの送信」にて、マウス操作を実現させます。
「マウスの移動」をOFF→ONにすることで、X, Y等のパラメータが表示されると思います。

画像13

今回は、150x290の位置に指定していますが、ここはご自身の環境に合わせていただければと思います。

16. 「マウスとキーボード > キーの送信」にて、Slack投稿を実現させます。
Yahooカレンダーの内容を入力して、Enter(送信)するように設定してみてください。

画像14



最後に

解説は以上となります。

設計の考え方についてですが、データの流れを意識する、これに尽きると思います。
逆に言いますと、データがブラックボックスになるからよくわからない、魔法みたいとなるのです。

入力データを「Yahooカレンダー」にして、出力データを「日報」形式にするところから設計が始まります。

そのためには、何をしなければならないのか、どうやって実現させるのかを記述することで、自然と設計書に近づいていくと思います。

私は、どうやって実現させるのかにお手伝いができればと思います。

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