高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

Power Automateとプログラミング

このブログはOffice 365 Advent Calendar 2019 - Adventarの22日目のブログです。

22日目のブログはOffice 365のWebツールの一つ、Power Automateについて。Qiitaなどでは技術的につっこんだ内容を主に書いていますので、こちらではもっと概要のところを。

Power Automateとは、MicrosoftのOffice 365 Business向けに提供されているツールの一つで、あるサービスでの出来事やボタン押下などのイベントをトリガーに、複数個のアクションを実行することができるというツールです。

わかる人には「IFTTTのようなもの」といえばいいでしょうか。

f:id:TakamiChie:20191222230908p:plain
Power Automateの画面

無料版も提供されており、無料でも大半のサービスを利用することができます。気になる方はそちらを利用してみても良いでしょう。

flow.microsoft.com

IFTTTと違って、標準で一つのトリガーに複数個のアクション(処理を示すブロック)を設定することができますので、手間暇さえかければかなり多くの操作を自動化することができます。

Power Automateのプログラミング性

しかし、このPower Automate、IFTTTとちがって複数個のサービスを結びつけることができるぶん、フローが非常に複雑になりがち。

変数の宣言や、(SharePointリストやデータベースなどから)データを取得するためのアクションなどもあったりして、ちょっと長めで凝ったフローを作ろうとするとプログラミングの心得が必須になります。

また、アクションやトリガーのブロックの横幅が広く、判断(if)ブロックなどを使おうとした日にはすぐに横スクロールバーのお世話になるという仕様。

どうしてすなおにコーディングで作業できるようにしなかったんだろう という気もします。こういう環境をいじってると、プログラミングの基本がいつまでたってもコーディングベースなのは、ある種仕方がないことなのかな と・・・。

Power Automateを使うときの心構え

Power Automateを使うときは、なによりやるべきことを普段のプログラミング以上にしっかり決めておくことが必要です。

その上で、できないことはできないので。使えるアクションを探して無かったら、適宜方法を考え直す必要があります。

正直込み入ったものになってくると、普通にコーディングするより難しい。可能であればなるべくフローをシンプルにするような考え方も必要になるでしょう。

とはいえ、Power Automateの利用が最適な局面も結構会ったりするんですけどね。

トリガーとアクションを1つずつ使うだけのものから慣れよう

とはいえ、他のプログラミング環境と違って、1個のトリガーと1個のアクションだけでも、まあまあやりたいことができるのがPower Automateの利点です。

f:id:TakamiChie:20191222232129p:plain
RSSの更新を別のリストに反映する

他の言語で「Hello World」と出力しても分かる人にしか分からないですが、Power Automateでは、同じくらいの労力でその数倍インパクトのあることができる。

そう考えるとプログラミングを初めて間もない人が、入門の前に使ってみるのも面白いかもしれません。

プログラミングをこれからやろうとは思っているけどイマイチとっかかりに困っている人、プログラミングがどう必要なのかを他人に説明したい人、まずはPower Automateからプログラミングの利点を体感してみるのも、いいかもしれませんね。