キーボード操作のフローを作成する
UI要素によっては絶対座標を必要とするため、ウィンドウの状態や位置がデザイン時と異なるなど状況でフローを実行すると、意図しない結果になることがあります。同じことをする手順でもキーボード操作の方が確実に実行できる場合があります。
そこでキーボード操作のアクションで、枠線を引いたり太字にしたり揃えを変えたり背景色を付けるサンプルフローを作成します。ただし、UI要素の位置を使うアクションでは、UIオートメーションのアクションも併用します。
[1]あらかじめExcelで今月のカレンダー.xlsxを開く
「マウスでのUI操作フローを作成する」フローで使用したブックのシートを開いた状態にします。
[2]新しいフローを作成する
タスクバーでPower Automate for Desktopを開きます(開いている場合は選択します)。
Power Automate for Desktopのトップ画面から[+新しいフロー]をクリックして、適当な名前で新規のフローを作成します。
[3]左上のセルを選択
[UIオートメーション]アクショングループから[ウィンドウのUI要素をクリック]アクションを配置します。設定ダイアログが開いたら、以下のように選択(=該当UIの赤枠でCtrl+クリック)した上で、設定を保存します。
- UI要素:(Excelウィンドウ上のC4セル)
[4]右上のセルまで選択する
[マウスとキーボード]アクショングループから[キーの送信]を配置します。
設定ダイアログが開くので、送信するテキストでキーに対応する文字を指定します。通常の文字であればキーの文字を指定するだけですが、特殊キーの場合は、[特殊キーの挿入]ドロップダウンで選択して入力できるキー名の文字列で指定します。また、[Ctrl]や[Shift]など、同時に押すキーを指定する場合には、[修飾キーの挿入]ドロップダウンで入力できる式を使用して指定します。
Excelでは、値が入力されたセルを選択した状態で[Ctrl]+[Shift]+[→]を押すことで、現在のセルから右方向に値のある部分を選択できます。このアクションで実現します。
キーの送信の送信するテキストで、[修飾キーの挿入]で[Control]を選択すると{Control}()と入力されます。()の中に同時に押すキーを入れます。()の中にカレットを置いて、[修飾キーの挿入]で[Shift]を選択すると、{Control}({Shift}())となります。再び()の中にカレットを置いて、[特殊キーの挿入]で[方向キー]―[右]とすることで、{Control}({Shift}({Right}))となり、実行時に[Ctrl]+[Shift]+[→]を押すことを意味します。
以下の設定を確認して保存します。結果の式を直接入力することもできます。
- 送信するテキスト:{Control}({Shift}({Right}))
これで実行時にはカレンダーの曜日部分が選択されている状態になります。
[5]太字にする
[マウスとキーボード]アクショングループから[キーの送信]を配置します。太字にするショートカットキーは[Ctrl]+[B]です。
以下の設定をして保存します。
- 送信するテキスト:{Control}({B})
[6]背景色を選択する
[マウスとキーボード]アクショングループから[キーの送信]を配置します。
Excelで[Alt]キーを押すと、リボンにショートカットキーの対応が表示されます。対応するようにキーを入力することで、キーボードのみでリボンが操作できます。ここではセルの背景色を付与します。
以下の設定を追加して保存します。
- 送信するテキスト:{Alt}({H}){H}{Down}{Down}{Right}{Right}{Right}{Right}{Right}{Right}{Right}{Right}{Return}
[7]右下のセルまで選択する
[マウスとキーボード]アクショングループから[キーの送信]を配置します。直前のアクションと同様に[Ctrl]+[Shift]+[↓]を押すことを表す文字列を送信するテキストに入力します。
以下の設定を追加して保存します。
- 送信するテキスト:{Control}({Shift}({Down}))
実行時にはカレンダー部分全体を選択した状態になります。
[8]外枠の罫線を引く
[マウスとキーボード]アクショングループから[キーの送信]を配置します。[Alt]+[H]-[B]-[T]と押すことで選択領域の外枠の罫線を引きます。
以下の設定を追加して保存します。
- 送信するテキスト:{Alt}({H}){B}{T}
[9]中央揃えにする
[マウスとキーボード]アクショングループから[キーの送信]を配置します。[Alt]+[H]-[A]-[C]と押すことで選択領域各値を中央揃えします。
以下の設定を追加して保存します。
- 送信するテキスト:{Alt}({H}){A}{C}
[10]作成したフローを実行する
前節のフローの最後の状態になっていることを確認してフローを実行します。
新たなフローを作成して、今回のサンプルを順に貼り付けたフローを実行して、最初のファイルからフローを実行して最終形になることを確認することができます。
UIオートメーションやキーボード操作の説明のために、既存のExcelブックを開いた状態でのフローのサンプルを説明しましたが、Excelアクションも使ってExcelを開いたりデータの入力を行ったりすることで、操作対象のファイルがない状態から作成するフロー作ることもできます。さらに他のアクションと組み合わせたり、Excel以外のアプリケーション操作を組み合わせたりして、業務作業の自動化フローらしいアプリケーション操作の自動化や複数のアプリケーション間の連携などを実現することができます。
まとめ
Power Automate for DesktopのフローからWindowsのアプリケーションのExcelをUIオートメーションやキーボードでの操作をフロー化する方法を紹介しました。これらのアクションを使用することで、専用のアクションが用意されていないどんな複数のアプリケーションでも操作を自動化できるため広く応用の可能性があります。
