無償化された「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 の起動
データ出力用のエクセルを開きます。
変数の値 | 種類 | ファイル名 |
ExcelInstance | Excel インスタンス | TEST‗output.xlsx |
手順2|Excel ワークシートから最初の空の列や行を取得
エクセルの最終行を取得します。
「最初の空の列」とは、データを左から順番に見ていったとき最初にデータが空白になる箇所のことを指しています。
また、「最初の空の行」とは、データを上から順番に見ていったとき最初にデータが空白になる箇所のことを指しています。
変数の値 | 種類 | 値 |
FirstFreeColumn | 数値 | 3 |
FirstFreeRow | 数値 | 7 |
手順3|Excel の起動
新規エクセルを開きます。
変数の値 | 種類 |
ExcelInstance2 | Excel インスタンス |
手順4|ループ処理の指定
ループ処理をつかって指定のセルを取得します。
変数の値「FirstFreeRow」には数値「7」が代入されているため、変数の値から「-1」をすることによって数値「6」を指定しています。
変数の値 | 種類 | 値 |
LoopIndex | 数値 | 7 |
手順5|Excel ワークシートから読み取り
変数の値「ExcelInstance」(元のエクセルファイルは「TEST‗output.xlsx」)からセルの値を抽出します。
あらかじめ設定したループ処理をつかってセルの値を取得します。
以下のとおり、こちらでは1列目のデータを取得しています。
「%Loopindex%」の値 | 指定される行 | 取得されるセルの値 |
1 | 1行目 | 列1 |
2 | 2行目 | 1 |
3 | 3行目 | 2 |
4 | 4行目 | 3 |
5 | 5行目 | 4 |
6 | 6行目 | 5 |
変数の値 | 種類 |
ExcelData | テキスト値 |
手順6|Excel ワークシートに書き込み
変数の値「ExcelInstance2」(新規のエクセルファイル)にデータを出力します。
書き込む値「%ExcelData%」は、手順6で取得したセルの値です。
手順7|Excel ワークシートから読み取り
変数の値「ExcelInstance」(元のエクセルファイルは「TEST‗output.xlsx」)からセルの値を抽出します。
こちらでも、あらかじめ設定したループ処理をつかってセルの値を取得します。
以下のとおり、こちらでは2列目のデータを取得しています。
「%Loopindex%」の値 | 指定される行 | 取得されるセルの値 |
1 | 1行目 | 列2 |
2 | 2行目 | A |
3 | 3行目 | B |
4 | 4行目 | C |
5 | 5行目 | D |
6 | 6行目 | 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」に入力した内容を読み上げるといった内容のマクロです。
実行結果の画面表示はできませんが、テキスト内容を読み上げました。
手順1|Excel の起動
マクロを含むエクセルを開きます。
「アドインとマクロの読み込み」を有効にしておきましょう。
手順2|Excel マクロの実行
実行対象のマクロ名を指定します。
手順3|Excel を閉じる
さいごにエクセルを閉じます。
スポンサーリンク
その他の操作例|管理コードの採番
こちらでは、エクセルと「テキスト」アクションを組み合わせた例をご紹介しています。
既存のエクセルファイルからデータを転送するのではなく、あらかじめ桁数が固定されている管理コードなどを「採番」したい場合の自動化例です。
処理のフローは次のとおりです。
「エクセル」と「ループ」に加えて「テキスト」アクションを使っています。
具体的な作成方法はこちらをご覧ください。
参考:【Power Automate Desktop】「テキスト」アクションの使い方を解説
まとめ
プログラミングを使わずにエクセルを自動化することができました。
今回、シンプルな作成例をつかって操作方法をお伝えしましたが「Power Automate Desktop」の基本的な使い方をご理解いただけましたでしょうか。
「変数」や「ループ」などプログラミング特有の考え方が必要なものの、設定はドラッグ&ドロップによる直感的な操作でかんたんに進めることができました。
選択できるアクション数も多く、基本的なことであればかんたんに自動化を実現できるかもしれません。
また、すでに作成してあるエクセルのマクロを自動化フローに取り込むことができるため、より細かい点はマクロをつかって動作させることもできます。
無料ツールですのでぜひ一度お試しください。
こちらに「Power Automate Desktop」でできることや基本的な操作方法をまとめていますので、もしご興味がございましたら一度ご覧ください。