LoginSignup
11
2

はじめに

久々の投稿ですが、よければ最後まで読んでください!
よろしくお願い致します。

概要

今回は以前より使用てみたかった、「Power Automate Desktop」を初めて使用した内容をまとめた投稿になります。

Power Automate Desktopとは

  • Microsoftが提供する、個人のデスクトップで使用できる「RPA」ツールになります。
  • 「Power Automate Desktop」はWindows10以上で無料で使用できます。
  • 自動実行はなく「Power Automate Desktop」を起動して「実行」ボタンの使用が必要になります。

「Power Automate Desktop」は有料版もあり、有料版だと他の人にフロー共有等ができます。

Power Automate DesktopとPower Automateの違い
「Power Automate Desktop」と別に「Power Automate」があります。以下が「Power Automate」の特徴になります。

  • 「Power Automate」は、クラウド型で実行するタイプです。
  • 「Power Automate」は、Office 365が必要。
    また、より多くの機能を使用する場合は別途料金が発生します。
  • 「Power Automate」は、時間実行等で自動実行が可能です。

本投稿の作成物

フォルダ内の全てのExcelファイルを全てのシートでA1にカーソルを合わせるかつ一番左のシートをアクティブ化する作業を「Power Automate Desktop」で自動化しました。

経緯

  • ビジネス上のExcelあるあるの全てのシートでA1にカーソルを合わせるの手間を減らしたかった。
  • 初めて「Power Automate Desktop」使用するので簡単な内容で挑戦できる自動化にしました。

前提条件

1.「Power Automate Desktop」のインストール

  • 以下のMicrosoftのページからインストラーをダウンロードして、インストールしてください。

手順

1. ワークフローの新規作成

1-1.「+新しいフロー」押下

image.png

1-2.「フロー名」に任意の名前を入力
1-3. 「作成」ボタン押下

image.png

2. 実行時に対象フォルダの存在チェック

2-1.「フォルダが存在する場合」をドラッグ&ドロップ
2-2.「フォルダーが次の場合」は「存在する」を選択
2-3.「フォルダーパス」は「Excelを格納するフォルダ」を指定
2-4.「保存」ボタン押下

image.png

3. 対象フォルダ内のExcelファイルを取得

3-1.「フォルダ内のファイルを取得」を「フォルダが存在する場合」の間にドラッグ&ドロップ
3-2.「フォルダー」は「Excelを格納する対象のフォルダ」を指定
3-3.「ファイルフィルター」は「*.xlsx」と入力
3-4.「サブフォルダーを含める」をON
3-5.「保存」ボタン押下

image.png

4. 対象フォルダ内の全てのExcelファイルを処理するためにループ処理を追加

4-1.「For each」を「フォルダ内のファイルを取得」の下にドラッグ&ドロップ
4-2.「反復処理を行う値」の「{x}」押下
4-3.「Files」を選択して「選択」ボタン押下
4-4.「保存」ボタン押下

image.png

手順4-2と4-3は、「Power Automate Desktop」の各アクションで自動で用意される変数です。
手順4では、手順3のアクションのファイル名一覧を保持している変数を指定しています。

5. Excelファイルを起動

5-1.「Excelの起動」を「For each」の下にドラッグ&ドロップ
5-2.「ドキュメントパス」の「{x}」押下
5-3.「CurrentItem」を選択して「選択」ボタン押下
5-4.「保存」ボタン押下

image.png

6. 全てのワークシートをA1にする為に、ワークシートの情報を取得

6-1.「すべてのExcelワークシートの取得」を「Excelの起動」の下にドラッグ&ドロップ
6-2.「Excelインスタンス」に「%ExcelInstance%」と入力
6-3.「CurrentItem」を選択して「選択」ボタン押下
6-4.「保存」ボタン押下

image.png

7. 対象Excel内の全てのワークシートを処理するためにループ処理を追加

7-1.「For each」を「すべてのExcelワークシートの取得」の下にドラッグ&ドロップ
7-2.「反復処理を行う値」の「{x}」押下
7-3.「SheetNames」を選択して「選択」ボタン押下
7-4.「保存」ボタン押下

image.png

8. A1セルにするワークシートを選択

8-1.「アクティブなExcelワークシートの取得」を「For each」の下にドラッグ&ドロップ
8-2.「Excelインスタンス」に「%ExcelInstance%」と入力
8-3.「保存」ボタン押下

image.png

9. A1セルを選択

9-1.「Excelワークシート内のセルをアクティブ化」を「アクティブなExcelワークシートの取得」の下にドラッグ&ドロップ
9-2.「Excelインスタンス」に「%ExcelInstance%」と入力
9-3.「アクティブ化」の「絶対位置で指定したセル」を選択
9-4.「列」に「1」と入力
9-5.「行」に「1」と入力
9-6.「保存」ボタン押下

image.png

10. 一番左のシートを選択状態にする

10-1.「アクティブなExcelワークシートの設定」を「For eachのEnd」の下にドラッグ&ドロップ
10-2.「Excelインスタンス」に「%ExcelInstance%」と入力
10-3.「次とともにワークシートをアクティブ化」は「インデックス」を選択
10-4.「ワークシートインデックス」に「1」と入力
10-5.「保存」ボタン押下

image.png

11. Excelを保存

11-1.「Excelの保存」を「アクティブなExcelワークシートの設定」の下にドラッグ&ドロップ
11-2.「Excelインスタンス」に「%ExcelInstance%」と入力
11-3.「ワークシートインデックス」に「1」と入力
11-4.「保存」ボタン押下

image.png

12. Excelを閉じる

12-1.「Excelを閉じる」を「Excelの保存」の下にドラッグ&ドロップ
12-2.「Excelを閉じる前に」の「ドキュメントを保存しない」を入力
12-3.「保存」ボタン押下

image.png

完成

image.png

実行

画像の通りのフォルダとExcelファイルを用意。実行後想定した通りに、フォルダ内の全てのExcelファイルを全てのシートでA1にカーソルを合わせるかつ一番左のシートをアクティブ化ができました!
image.png

最後に

今回初めて「Power Automate Desktop」を使用しましたが、直感的に使用できるかつマクロを組まなくても実装できるのは、様々なユーザーが使用できる良いツールだと思いました。
また、様々なことができることがわかり、特に操作のレコーディングやブラウザと連携ができる機能があるので、簡易的な画面テスト等にも使用できそうだなと思いました。

最後まで読んでいただきありがとうございました!!

参考ページ

https://www.iimhs.co.jp/services/ms365/power-automate-desktop/#sec1
https://inhousese.break-employee.com/2023/01/19/powerautomate_powerautomatedesktop/

11
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
2