見出し画像

Power Automate Desktop とわたくし

 今回の年末年始はとても短いなあと思いつつも、逆にダラダラしなくてよかったなあなんて思いながら昨年を振り返っておりました。note さんが集計してくれた私のアウトプットの中身を見ると…まあ、当たり前ですけど、例の記事がよく読まれていますね。

 上梓したころには賛否両論いろいろな反応いただきました。もちろん、私の視点から見た事件なのでバイアスはかかっているでしょうけれど、特に嘘をついているところはないんですよ。中小企業人の嗜みとして根回しをキッチリしても普通にクビになったという事例です。はっはっは。

 このときに私がやったのは、ごく単純なことです。

某会社のシステムに自動でログインして、受発注の伝票を取得し、とあるディレクトリにファイルをリネームして配置する

 これを Selenium と Python で作って、5〜6社用に横展開しただけです。(それでなんでクビになるの?と思われた方は記事を読んでね!)

 現職に転職して、さぁてどこから手を付けようかと周りを見回して着手したのは、また、そう、コリもせず、自動化です。前回より今回はもっと簡単に、 30 行どころかほぼノーコードでやってます。

某会社のサイトにアクセスしてスクレイピングした結果をエクセルにためこむ

 いわゆる普通の、真っ当なスクレイピングです。現在のところ好反応が返ってきています。そう、喜ばれています。前回クビになったとき同様に…ここまではいいんだ…ウウッ…頭がっ…

 なんてね。

 まああれから 3 年以上経ってますし。時代は RPA だ DX だとこの手の効率化は一般的になってくれました。今回の現場の IT リテラシーはかなり高いですし、経営層の考え方だって変わってきています。もう令和ですもの。だからきっと、今回は大丈夫……大丈夫だよね????

■ で、今回は何をやったのか

 至極真っ当に王道的なスクレイピングを Power Automate Desktop で行いました。Windows11 には標準装備、10 でも無料で使える例のすごい子です。

 Power Automate および Power Automate Desktop の噂は聞いていましたし、概念もわかってはいました。でも、実際に使ったことはなかったんですよ。

 どーれいっちょやってみるかと触ってみたら超絶的に簡単でした。Xpath を意識する必要まるでなし。ちょっとプログラムかじった人(要は、変数・条件式・論理がわかる・ファイルポインタとかインスタンスの概念がわかる)ならあっという間に「実用的な動くモノ」ができちゃいます。

 これぁ素晴らしい…というわけで、かつての私と同じように「わかっちゃいるけどまだ試してないんだよね」という人向けに「何がすごいのか」を書いていこうと思います。

■ スゴイところ1:ガチでノーコード

 Power Automate Desktop でコードを書く機会はあんまりありません。Javascript を書くことがちょっとだけあるかな?ってくらいです。基本的には部品はすべて用意されており、それをぱっこんぱっこんはめていくだけです。

 なんなら、ある程度は変数も自動で用意してくれます。Option Explicit をつけないような状態といえばその筋の人にはイメージが湧くでしょう。はじめからおわりまでマウス操作で済ませることができます。スゴイ。

■ スゴイところ2:ガチで無料

 親にあたる「Power Automate」は課金をすることで強力にパワーアップしますが、Power Automate Desktop それそのものにはこれ以上課金できません。 つまり、ひとつの完成された製品ということになります。その名の通り、デスクトップ操作だけを考えるなら(ある程度)何でもできます。アプリケーションとの接続部分(コネクタやらAPIやらなんて呼ばれますね)がないとダメということは特にないです。完結した製品が無料。スゴイ。

 いわゆる「自動化」という言葉をここで定義しておきましょう。ここでいう自動化は「トリガー以外すべて」という意味です。引き金を引くのは人間で、こういうのをアテンド型 RPA と呼ぶようです。

 引き金を含めて自動化したい場合には、Power Automate 側で課金が必要になります。月に 4,350 円かな?

■ スゴイところ3:レコーダー凄すぎ

 「とあるところにある文字列を単純に取得する」だけならまあ、既存のツールでも特に面倒くさくはありません。面倒だなあ…と思うのは表になっているものを繰り返し取得するようなものでしょうか。XML のパースを手動でやるときの面倒さを思い出してもらえれば大体あってます。

 ところがこの Power Automate Desktop はそのあたりも自動で処理してくれます。表の中の同じような要素を取得したいよという匂わせムーブをするだけであっという間にループ処理の完成です。エッまじかよというくらい簡単。

 詳しいやり方はここに書くまでもないくらい。ループを回すための変数の設定も、.length() で配列の長さを取ってくる必要も、終了条件も考える必要はありません。すっごい楽。めっちゃ便利です。

■ スゴイところ4:エクセルに書き込むときにさあ…

 最終行に続けて書きたいですよね?どうするかって?ブックとシートを指定して、空白がない行をカウントして…なんてことをしなくていいんです。最初から、このブックのこのシートの最終行・最終列を取得してそこから書くよという機能が用意されてます。おかげで、ふと気づいたら毎回最終行を上書きしていたなんていう悲しい事故を防ぐこともできます。

 Google Spreadsheet でできるかは確認していませんが、いわゆるこう…自動化するときに自力で解決しなきゃいけない問題に対して、大体の答えが用意されている状態で開発を進めることができるのです。これはとてもスゴイこと。

■ スゴイところ5:他のパソコンに横展開できます

 スゴイところというと語弊はあるかもしれません。作ったフローを他のパソコンに移植することができます。いやそんなん当たり前やろと言われちゃうとまあ…普通にできてほしいですよね。こう、なんがしかのファイルをコピーすると展開できちゃうよみたいなね。

 残念ながら Power Automate Desktop にはそのような機能はありません。代わりにどうするかって言うとテキストに変換して移植します。

 テキストですよ。文字列ですよ。ってことはつまりどういうことかと言うと、メールでぽいっと送れば横展開ができるというわけです…といってもまあ、本文だけじゃなくて変数の設定やらなんやらは追加でやらなきゃいけませんが。

 それでも、テキストですよ。高速に展開できるというのはそれだけでスゴイことですよ。

----

 とまあ、スゴイところを何個か書きました。これ以外にもスゴイところはいっぱいありますし、逆に「ここもうちょっと頑張ってくれればなー!」と思うところもまああります。

 いずれにせよ、ちょっとプログラムをかじったことがあるよという人にとっては、ものすごく簡単に作りたいものが作れます。プログラム未経験の人でも「なにか一つの言語を覚えてユーザーに展開する」という学習に比せば 100 分の 1 くらいのコストで技術習得可能です。

 業務改善やちょっとした繰り返し処理・反復処理をしたいという人にとってはうってつけのツールです。興味を持った方は…何から始めればいいのかと言うと…ここから行きましょう。

 なんのかんの言って、公式マニュアルが一番です。日本語が怪しかったり、無料プランじゃできねえじゃねえか!というところもあったりはしますが、概要を掴むのにはこれくらいで十分です。是非チャレンジしてみてください。

 ちなみに私はえーと… 6 個くらいかな、自動化のフローを動かしています。不思議なもので、概念がわかると「アレもできるんじゃない?」といったようなアイディアも湧き出るんですよね。

 まず何を自動化しようかを分析するという心構えや態度も大事ですし、尊重されるべきです、が、あえて技術から先に覚えてしまうと見えるものがありますよというお話をして、今回の記事を締めさせていただこうと思います。

 なお、Power Automate Desktop になれたら次は Power Automate、Power Apps、SharePoint などなどといろいろ発展的に使えるツールが増えていきます。Microsoft 製品群を学びたいという人の取っ掛かりにも丁度いいんじゃないかな、なんて思います。

 ぜひやってみてください!


この記事が気に入ったらサポートをしてみませんか?