APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

無料になったPower Automate Desktopの世界にダイブしよう!

f:id:thanaism:20210609113708p:plain

Power Automate Desktop が無料になった!

Azureコンテナソリューショングループの髙井です。

私の部署ではAzureのクラウドネイティブ内製化支援サービスを提供しています! そして、その一環として、私はAKSを中心としたAppアーキテクトを担当しています(^^)/

ところでみなさん、Azureしてますか?……と言いたいところですが、今回は!

最近話題となっている、

Power Automate Desktop(PAD)

について少し書いてみたいと思います!
後述しますが、うまくやればAzureとも連携できなくはなさそうです!

画像引用: https://flow.microsoft.com/ja-jp/desktop/

Power Automate Desktopは、Microsoft謹製のRPAツールです。

これまでは有料の製品でしたが、なんとこのたび無償で提供されるサービスとなりました。激アツです。

ということでRPAツール未経験の私がさっそく試していきたいと思います。

ちなみに私はこれまでPC上の繰り返し作業はVBAPowerShellでなんとかしてきました。こういうスクリプトたちもGUIで手っ取り早く作れるならアリですよね。

PADで自動化の世界観が変わる!

大前提として自動化ツールを作成する時間 < 削減できる時間でないと自動化をする意味はないので、この閾値が変わるなら非常に価値あるツールとなります。

また、GUIのみのノーコードで作成できるなら、それこそエンジニアでなくても利用できる可能性も高まります!

しかも、多くの企業でドキュメント作成にMS Officeが使われていることを考えると、それらOfficeソフトとの連携がMicrosoft純正でサポートされるというのは素晴らしいことです。とにかく期待の高まるツールであることは間違いないですね。

今後はWindowsにプリインストールとなっていく可能性も高いので、「無料・純正・プリインストール」というエンジニア以外が業務効率化をする貴重なツールとして覇権を取る可能性は大いにあるでしょう。

さあ、一緒にゲームチェンジャーの可能性を秘めたPower Automate Desktopの世界にダイブしましょう!

PADのインストール

とにもかくにもまずはインストールです。 公式サイトから「無料でダウンロードする」を選択します。

ダウンロードしたexeを実行するとインストール画面に遷移します。

適宜チェックを調整して、インストールします。わからなければ全てにチェックを入れてしまってよいでしょう。

インストールが開始されました。

待っていれば数分でインストールは完了します。

ChromeまたはMicrosft EdgeでWebアプリを使用する場合はリンクから拡張機能をインストールしておきましょう。

私はChromeを使用していますのでChrome用の拡張機能をインストールしました。

拡張機能のインストールが終わったらPCを再起動します。

サインイン作業

再起動するとスタートメニューに項目が追加されています。

Power Automate Desktopを起動しましょう。起動するとサインインを促されます。

Microsoftアカウントのメールアドレスを入力します。 組織(会社・学校)アカウントでも個人アカウントでもいけるようです。

検証のため今回は個人のアカウントを使用しました。

サインインできたら、「日本」を選択して「開始する」をクリックしましょう。

ようやく始まりそうですね。ここからPADの世界にダイブです!

PADの起動

開始すると画面の右上にユーザー名が表示されています(画像では白く塗りつぶしている部分です)。

どうやらPADでは自動化フローを「デスクトップフロー」と呼ぶみたいですね。 今は初期状態なので何もないカラの状態のようです。

フローの新規作成

新しいフローから何か作成してみようと思います。

フローの名前を入力します。今回は「テストフロー」にします。

元のウィンドウに「テストフロー」が追加されました。

フローの編集

さらに、新しいウィンドウが自動で開きます。

よくわかりませんが、左側にいろいろ並んでいます。

Excelを対象にした操作

とりあえず、Excelのリストを展開してみます。

いろいろと項目があるのが分かります。

  • Excel の起動
  • 実行中の Excel に添付
  • Excel のワークシートから読み取り
  • Excel の保存
  • Excel のワークシートに書き込み
  • Excel を閉じる
  • アクティブな Excel ワークシートの作成
  • 新しいワークシートの設定
  • 新しいワークシートの追加
  • Excel ワークシートから最初の空の列や行を取得

どうやら、Excelのブックに対してRead/Writeする機能があるようなので、試してみます。 新しいブックを作ってどこかのセルに「hoge」と入力して保存するフローを作れそうなのでトライします。

【参考】AWSやAzureとの連携も!

ちなみに他には「AWS」とか「Azure」なんて項目もありました!(笑)

Azureだとリソースグループを作成したり、VMとのセッションを立てたりもできるみたいです。すぐにパッとは利用例が思い付きませんが、応用すればすごいことができそうです。

Excel の起動

さて、ちょっと話がそれましたが今回はわかりやすくExcelをやっていきましょう。

先ほどの左のカラムからExcel の起動をダブルクリックしたらさらに新しいウィンドウが開きました。

なるほど、いろいろありそうですね。 プルダウンから指定のブックを開くこともできそうです。とりあえず今回は空のドキュメントにしておきます。

インスタンスを表示するがあるのでバックグラウンドでの実行もできるようです。 とりあえず今回は動きを見るためにONにしておきます。

他の展開要素も開いてみるとこんな感じです。

アドインとマクロの読み込みは書いてあるまんまですね。 生成された変数に関しては、このExcel の起動により起動されたExcelインスタンス自身を表す変数が生成されるということでしょう。

エラー発生時もクリックしてみます。

なるほど、まあプログラミングにおけるtrycatchとかが分かる人なら見たらイメージはつくのかと。

無視して続行するか、エラーを投げるか、リトライするか、という感じですね。 たとえば指定のExcelブックを開く指定をしていた場合に、対象のファイルがない場合はどうするとかそんなイメージでしょうね。

ちなみに他の展開要素もいろいろ開いてみるとこんな表示になりました。

なるほどなるほど、ここまで見たらだいたい理解できてきましたね!ある程度プログラミング経験がある人ならこのあとの流れはだいたいイメージできたのではないでしょうか!

あとは、やりたいことに応じて各項目でどんな動作までサポートされているのかを都度調べていけばよさそうです。

さて、この調子ですべての項目に全部画像を貼っていると一生終わらなさそうなので(笑)、とりあえず空のブックに「hoge」と書き込んで保存して閉じるところまで適当に作ってみようと思います。

Excel のワークシートに書き込み

先ほどのExcel の起動で生成された%ExcelInstance%が対象になっています。

列は文字でも数字でもOKのようです(^^)/

Excel の保存

とりあえずデスクトップに「hoge-book」というヘンテコな名前を付けて保存します。

Excel を閉じる

保存したので最後は閉じます~。

と思ったら保存のオプションがここにありましたね。 閉じて終了するならExcel の保存のフローは不要みたいです。ウッ、初見殺しだー。

さっきと同じオプションが展開されます。

フローの削除

しょうがないのでさっき作った保存のほうは消しましょう。 たぶん「名前を付けて保存」を2重にやると上書き確認とかでめんどいことになる気がします。

実行

ようやく実行できそうです。フローの保存もあるっぽいですがまずはちゃんと動くか試します。

はじめてなので予想外のエラーが起きるかと思いきやデスクトップを見るとアッサリ保存されてました。

hoge-book.xlsxを開きます。

ちゃんとhogeと入力されています。やるやん。

ちなみに実行時間は数秒レベルでした。

フローの保存

うまくいったのでフローを保存します。さっきの実行ボタンの横にあった保存マークを押します。

保存されました。[X]ボタンを押してウィンドウを閉じます。

次回からはこのウィンドウ経由で実行できるようです。

試しに先ほどのブックのセルの値を「fuga」に書き換えてから実行してみます。 上書き確認とかどうなるんでしょうね。

何も発生することなくフローが終了しました。中身は「hoge」に戻っています。 特に上書きの確認とかはスルーで実行されるようです。実行時間3秒とあるのでさっき数秒レベルと書いたとおりになっていますね。

他にもいろいろできそうですが、長くなったので今回はとりあえずここらで終わりにしましょうか。

まとめ

思ったより簡単に作れて、しかも安定して動きますね。

これまで多くの人がExcel VBAやPowerShellで書いていたような処理もこのPAD(Power Automate Desktop)があるとGUIでサクサクサクーっと作れちゃう世の中になった気がします。

いわばAzure Functionsに対するAzure Logic Appsのような立ち位置のイメージです。

フローの構成要素などを見る限り、やはりノーコード、ローコードのツールはある程度プログラミングの知識がある人がやってこそより輝くツールになると思いますので、こうしたノーコードツールの台頭により逆にプログラミング学習の必要性は今後さらに高まっていくことでしょう。

あるいは逆にこうしたGUIのツールを使っているうちに構造化プログラミングのエッセンスが学べるようになるのかもしれませんね。

いずれにしてもこれが無料とは便利な時代です!もとは月数千円のサービスが(フル機能ではないようですが)、無料で提供されるなんてMicrosoftさんも太っ腹ですね。

今後はMicrosoftさんに足を向けて寝れないと言いたいところですが、今の世の中それこそ全方位にMicrosoft製品があふれているので直立不動で寝ることになりそうです(笑)

今後、PADとAzureを連携してなにか面白いことができたらまたブログにしていこうと思います!

それではみなさん、よいPAD&Azureライフを!