【Power Automate Desktop】エクセルでできることや使い方を紹介

PAD

無償化された「Power Automate Desktop」の基本的な使い方や、エクセル操作でできることを具体例をつかってご紹介します。

スポンサーリンク

「Power Automate Desktop」とは

「Power Automate Desktop」とは、Microsoftが提供する無料のRPAツールです。

「Power Automate Desktop」は「Power Automate」の機能の一部で、「Microsoft Power Platform」のサービスの1つでもあります。

参考:【Power Automate Desktop】Microsoftの無料RPAツールの概要

アクション|Excelの操作一覧

基本項目

「Power Automate Desktop」をつかってエクセルで自動化できる基本項目はこちらです。

項目内容
Excel の起動新しい Excel インスタンスを起動するか、Excel ドキュメントを開きます。
実行中の Excel に添付既に開いている Excel ドキュメントに添付します。
Excel ワークシートから読み取りExcel インスタンスのアクティブなワークシートからセルまたはセル範囲の値を読み取ります。
Excel ワークシートのアクティブなセルを取得するExcel ドキュメントのアクティブなワークシートに含まれるアクティブなセルを取得する。
Excel の保存既に起動している Excel インスタンスを保存します。
Excel ワークシートに書き込みExcel インスタンスのセルまたはセル範囲に値を書き込みます。
Excel を閉じるExcel インスタンスを閉じます。
アクティブな Excel ワークシートの設定Excel インスタンスの特定のワークシートをアクティブ化します。
新しいワークシートの追加Excel インスタンスのドキュメントに新しいワークシートを追加します。
Excel ワークシートから最初の空の列や行を取得アクティブなワークシートの最初の空の列や行を取得します。これは、既にデータが含まれているワークシートに新しいデータを追加する場合に便利です。
Excel ワークシートの列名を取得する列名を取得する。

詳細項目

「Power Automate Desktop」をつかってエクセルで自動化できる詳細項目はこちらです。

項目内容
Excel マクロの実行Excel インスタンスのドキュメントで指定されたマクロを実行します。
アクティブな Excel ワークシートの取得Excel ドキュメントのアクティブなワークシートを取得します。
すべての Excel ワークシートの取得Excel ドキュメントのすべてのワークシート名を取得します。
Excel ワークシートを削除Excel インスタンスから特定のワークシートを削除します。
Excel ワークシートの名前を変更Excel インスタンスの特定のワークシートの名前を変更します。
Excel ワークシート内のセルをアクティブ化Excel インスタンスのアクティブなワークシート内のセル(列、行、オフセットを指定)をアクティブ化します。
Excel ワークシート内のセルを選択セルの範囲を Excel インスタンスのアクティブなワークシートで選択します。
選択したセル範囲を Excel ワークシートから取得最初の列、最初の行、最後の列、最後の行で構成される構造内における、選択されたセル範囲を取得。
Excel ワークシートからセルをコピーセルの範囲を Excel インスタンスのアクティブなワークシートからコピーします。
Excel ワークシートにセルを貼り付けセルの範囲を Excel インスタンスのアクティブなワークシートに貼り付けます。
Excel ワークシートから削除するExcel インスタンスのアクティブなワークシートからセルまたはセル範囲を削除します。
Excel ワークシートに行を挿入Excel インスタンスの選択した行の上に行を挿入します。
Excel ワークシートから行を削除Excel インスタンスから選択した行を削除します。
Excel ワークシートに列を挿入Excel インスタンスで選択されている列の左側に列を挿入します。
Excel ワークシートから列を削除Excel インスタンスから選択した列を削除します。
Excel ワークシート内のセルを検索して置換するテキストを検索し、Excel インスタンスのアクティブなワークシート内の別のテキストに置換する。
Excel ワークシートから列における最初の空の行を取得アクティブなワークシートの列を指定して、最初の空の行を取得。

スポンサーリンク

基本的な操作例|エクセルのLoop処理

かんたんな自動化の作成をとおして「Power Automate Desktop」の使い方をご紹介します。

こちらでは、既存のエクセルファイルから新規エクセルファイルへとデータを転記する作業を自動化してみたいと思います。実際にはこういった作業の自動化は現実的ではありませんが、今回は操作方法をご理解いただくことを目的としていますので参考程度にご覧ください。

「Power Automate Desktop」で自動化する内容はこちらです。

なお、今回使用するエクセルファイルはこちらです。

さきに動作結果を確認しておきましょう。
新規エクセルファイルにデータが転記されていることが確認できます。

手順1|Excel の起動

データ出力用のエクセルを開きます。

変数の値種類ファイル名
ExcelInstanceExcel インスタンスTEST‗output.xlsx

手順2|Excel ワークシートから最初の空の列や行を取得

エクセルの最終行を取得します。

「最初の空の列」とは、データを左から順番に見ていったとき最初にデータが空白になる箇所のことを指しています。
また、「最初の空の行」とは、データを上から順番に見ていったとき最初にデータが空白になる箇所のことを指しています。

変数の値種類
FirstFreeColumn数値3
FirstFreeRow数値7

手順3|Excel の起動

新規エクセルを開きます。

変数の値種類
ExcelInstance2Excel インスタンス

手順4|ループ処理の指定

ループ処理をつかって指定のセルを取得します。

変数の値「FirstFreeRow」には数値「7」が代入されているため、変数の値から「-1」をすることによって数値「6」を指定しています。

変数の値種類
LoopIndex数値7

今回の例では「Loop」を選択しましたが、「Power Automate Desktop」のループ処理は3種類あります。

ループの種類内容
For eachリスト、データ テーブル、またはデータ行にあるアイテムを反復処理して、アクションのブロックを繰り返して実行します。
Loop指定された数のアクションのブロックを反復処理します。
ループ条件指定された条件が真である限り、アクションのブロックを反復処理します。

参考:【Power Automate Desktop】ループ処理の使い方を解説

手順5|Excel ワークシートから読み取り

変数の値「ExcelInstance」(元のエクセルファイルは「TEST‗output.xlsx」)からセルの値を抽出します。

あらかじめ設定したループ処理をつかってセルの値を取得します。
以下のとおり、こちらでは1列目のデータを取得しています。

「%Loopindex%」の値指定される行取得されるセルの値
11行目列1
22行目1
33行目2
44行目3
55行目4
66行目5
変数の値種類
ExcelDataテキスト値

手順6|Excel ワークシートに書き込み

変数の値「ExcelInstance2」(新規のエクセルファイル)にデータを出力します。

書き込む値「%ExcelData%」は、手順6で取得したセルの値です。

手順7|Excel ワークシートから読み取り

変数の値「ExcelInstance」(元のエクセルファイルは「TEST‗output.xlsx」)からセルの値を抽出します。

こちらでも、あらかじめ設定したループ処理をつかってセルの値を取得します。
以下のとおり、こちらでは2列目のデータを取得しています。

「%Loopindex%」の値指定される行取得されるセルの値
11行目列2
22行目A
33行目B
44行目C
55行目D
66行目E
変数の値種類
ExcelData2テキスト値

手順8|Excel ワークシートに書き込み

変数の値「ExcelInstance2」(新規のエクセルファイル)にデータを出力します。

書き込む値「%ExcelData2%」は、手順7で取得したセルの値です。

手順9|メッセージを表示

さいごに完了のメッセージを表示させる設定をします。

変数の値種類
ButtonPressedテキスト値OK

参考:【Power Automate Desktop】メッセージ ボックスの使い方を解説

スポンサーリンク

詳細の操作例|エクセルのマクロ実行

「Power Automate Desktop」で自動化する内容はこちらです。

なお、今回使用するエクセルのマクロ(VBA)の内容はこちらです。

Sub Sample()
    Application.Speech.Speak Range("B1")
End Sub

セル「B1」に入力した内容を読み上げるといった内容のマクロです。

実行結果の画面表示はできませんが、テキスト内容を読み上げました。

RPAで自動化できない部分のエクセル操作で「どうしてももっと細かなエクセルの設定をしたい」という場合は、マクロの作成をご検討ください。

すこし難易度はあがりますが、その分、柔軟な自動化ができるようになります。

参照:【Excel VBA】独学プログラミング|初心者が最短ルートで学ぶエクセル マクロの組み方

手順1|Excel の起動

マクロを含むエクセルを開きます。
「アドインとマクロの読み込み」を有効にしておきましょう。

手順2|Excel マクロの実行

実行対象のマクロ名を指定します。

手順3|Excel を閉じる

さいごにエクセルを閉じます。

スポンサーリンク

その他の操作例|管理コードの採番

こちらでは、エクセルと「テキスト」アクションを組み合わせた例をご紹介しています。

既存のエクセルファイルからデータを転送するのではなく、あらかじめ桁数が固定されている管理コードなどを「採番」したい場合の自動化例です。

処理のフローは次のとおりです。
「エクセル」と「ループ」に加えて「テキスト」アクションを使っています。

具体的な作成方法はこちらをご覧ください。

参考:【Power Automate Desktop】「テキスト」アクションの使い方を解説

まとめ

プログラミングを使わずにエクセルを自動化することができました。

今回、シンプルな作成例をつかって操作方法をお伝えしましたが「Power Automate Desktop」の基本的な使い方をご理解いただけましたでしょうか。
「変数」や「ループ」などプログラミング特有の考え方が必要なものの、設定はドラッグ&ドロップによる直感的な操作でかんたんに進めることができました。

選択できるアクション数も多く、基本的なことであればかんたんに自動化を実現できるかもしれません。
また、すでに作成してあるエクセルのマクロを自動化フローに取り込むことができるため、より細かい点はマクロをつかって動作させることもできます。

無料ツールですのでぜひ一度お試しください。