2021年3月3日、 Twitter のTLは Power Automate Desktopの話題で持ちきりです。
Power Automate Desktopは、パソコン全体を自動的にコントロールすることができるいわゆるRPAに近い(というかそのもの?)の領域ではないかと思います。
本日のニュースのでかいところは、これがWindowsユーザーなら無料で使えるというところにあります。RPAはなにせお金が高いというデメリットがあり、Excelで自動化することに比べたらハードルがめちゃくちゃ高かったのですが、それが無料で使えるという事でインパクトは大きいみたいです。
ただ、私の主張は、RPAとExcelの自動化は比較するものではなくて、RPAを使ってExcelで自動化したものをキックしたり補助したりするものだと思っています。
ということで早速Power Automate DesktopとExcelを組み合わせてみました。
Excelデータ
まず、次のようなExcelシートを作りました。
D列にリストを入力すると計算式でC1にリストの個数が計算されます。
A1に番号を入力すると、A2にD列のA1の行番号のものに「pdf」の拡張子がつくようになっています。
B1はA1の番号がC1の個数を超えたら1になるような計算式が入っています。
そしてこのブックはShift+Ctrl+PのショートカットキーでセルA2の名前のPDFファイルが作成されるようになっています。
この状態でVBAではループを作り、B2が1になるまでセルA1の値を1から入れ替えながらPDFファイル作成するマクロを実行するような動作をすればいいと思うのですが、そのループの部分をPower Automate Desktopに任せてみようと思います。
Power Automate Desktopはググればダウンロードできるサイトが見つかるのでダウンロードします。Windowsユーザーが無料で使えるのでWindowsを設定した時の Microsoft アカウントのメールアドレスとパスワードを用意しておきましょう。
Power Automate Desktopの簡単な使い方
インストールしてログインすると次のような画面が表示されます。
今すでにExcelループという動作を一つ作っているのですが、新しい動きを設定する時は左上の新しいフローをクリックし動作の名前を設定できるのでフロー名のところにわかりやすい名前を入力します。
ちょっとアクションが起きるまで数秒間時間がかかるのですが次の画面が表示されます。
左の方のアクション一覧からやりたいことをダブルクリックするとその下にやれること一覧表が表示されます。例えばExcelをダブルクリックしてみると、次のようなリストが表示されます。
VBAでやれることに比べたら全く少ないのですが、他の機能と組み合わせて色々な操作をしていくことができると思います。
またそれぞれの機能ではここに書いてあること以上のことが設定できます。
Excelの起動をドラッグしてアクションのウィンドウにドラッグすると、 次のような画面になります。
ただエクセルを開くだけではなくて空のドキュメントを使用の下向き三角をクリックするとファイルを指定することができるのでそのファイルを開くことができます。もちろん開くブックはマクロ有効ブックも可能です。
Excelワークシートから読み取りでは次のような画面になります。
列と行を指定し、その値を自動生成されたExcelDataという変数に格納します。
この変数の名前は後で変更ができます。
セルから取り込んだ値は文字列として取り込まれている場合があります。数値として扱いたい時は数値に変換するのですが、それは左のアクションの中からテキストの中のテキストを数値に変換を使えば新しい変数名に数値に変換した内容を格納します。
アクションの変数の中の変数を大きくするを使うと変数を指定した文を大きくすることができます。これで次の番号を指定できます。
Excelワークシートに書き込みを使って、何列目の何行目に何の値を書き込むか指定します。
左のアクションのマウスとキーボードの中ではマウスやキーボードの操作をすることができます。Shift、Ctrl、Altキーを押すか離すかを「キーを押す/離す」で指定し、キーの送信でキーを入力します。ショートカットキーとして入力する時はキーを文字として入力するのではなくキーとして押すというアクションにします。
ショートカットキーはCtrlなどのキーを押したままにする、アルファベットのキーを押す、Ctrlなどのキーを離すという3つのアクションから構成します。
アクションのループの中でループを作ります。今回はセルB2を読み取った値が1になるまで繰り返すようなループ条件で設定しました。
作成したら、保存と実行をしましょう。
保存してみたら、エラーが出て保存されないということがありました。対処法や原因がわからないので、流れはどこかにメモしておいた方がいいかもしれません。
今回作ったものの流れ
- Excelを起動し所定のブックを開く
- UIオートメーションの Windows でウィンドウの取得をする。あらかじめ所定のExcelファイルを開いておいて 新しい UI 要素の追加をして 左コントロールキーを押したまま赤で囲まれた指定したいウィンドウをクリックします。(左矢印キーと書いてあるのは誤訳?)ウィンドウを前面に表示する設定にする。タイムアウトは1秒。
- セルA1に0と書き込み
- ループを終了する変数を0に設定
- ここからループする。ループを終了する変数が1ならば終了
- セルA1から読み取り変数へ格納
- 変数を数値化
- 変数を1大きくする
- その変数をセルA1に書き込み
- CtrlとShiftキーを押す
- Pをハードウェアキーとして押す
- CtrlとShiftキーを押す
- セルA2からループを終了する変数へ格納
- ループはここまで
- Excelを閉じる
まとめ
初めて使う人は面食らってしまうかもしれません。
にしても今までの自動化ツールに比べたらかなり使い易い部類に入るのではないかなと思います。本来は自動化についてあまり詳しくなかったり手順を考えるスキルがあまりなかったりする人にも使えるようなツールであればいいのですが今のところそこまでは期待できません。それが実現可能になるには相当な年月が必要になると思うのでまずは人間側から自分の業務はどんな手順で進んでいるのかということを常日頃から把握する訓練が必要になってくると思います。
コメント