「Excel」アクションを使いこなす

Power Automate Desktop
「Excel」アクションを使いこなす

日本にいる多くのユーザーはWindows環境で仕事をしており、Excelは日常的に使っているアプリケーションのひとつでしょう。Power Automate DesktopではそんなExcelを自動化するためのアクションが豊富に用意されています。Microsoftが提供しているツールだけにOffice製品の自動化には力が入れられています。デザイナー画面のExcelプルダウンメニューを開くと、直下に11種類のアクション、詳細から更に17種類のアクションを扱うことができます。このページでは直下にある11のアクションの動きを確認していきましょう。

(なお、2022/8/8執筆時点でのアクション数であり、今後、利用できるオプションが増える可能性があります。)

1. Excelの起動

Excelの起動

「Excelの起動」アクションを利用すると、新しいExcelファイルか既存のExcelファイルを指定してExcelインスタンスに保存することができます。以後、このインスタンスを使って自動化を進めていくことになります。

アクションを追加したら下図のような設定画面が現われます。「Excelの起動」で「空のドキュメントを使用」を選択すると新規のExcelファイルをインスタンスに格納します。一方、「次のドキュメントを開く」を指定すると、追加でドキュメントのパスを指定するパラメータが現われ、そこに開きたいファイルのパスを入力します。「インスタンスを表示する」はデフォルトではONになっていますが、OFFにすると画面にファイルが表示されなくなります。

Excelの起動設定画面

続いて詳細メニューの設定を見てみましょう。「新しいExcelプロセスの配下に入れ子にする」をONにすると、2つ以上Excelインスタンスを取得した時に、下図のように一つのプロセスにネスト構造するのではなく、ひとつひとつ新しくプロセスを作成するようになります。これはタスクマネージャーから確認できます。ONにした場合はアドインとマクロの読み込みを有効にするかどうかも追加で設定できます。

入れ後OFF 入れ後ON

2. 実行中のExcelに添付

実行中のExcelに添付

「実行中のExcelに添付」アクションは既に開いているExcelファイルをインスタンスに取得して、自動化操作できるようにします。設定画面でのパラメータはひとつです。「ドキュメント名」にファイルのパスをフルパスで入力すれば終了です。これによって「ExcelInstancee2」という変数にインスタンスが格納されるので、自動化の操作をすることができるようになります。

実行中のExcelに添付設定画面

3. Excelワークシートから読み取る

Excelワークシートから読み取る

「Excelワークシートから読み取る」アクションを利用すると指定したExcelインスタンスのシートにあるセルの値を取得することができます。設定画面では最初にExcelインスタンスを選択しましょう。選択できるインスタンスがない場合は先に「Excelの起動」アクションなどで生成する必要があります。次に値の取得方法を選択します。選択肢は「単一セルの値」「セル範囲の値」「選択範囲の値」「ワークシートに踏まれる使用可能なすべての値」の4種類あります。ひとつひとつ動きを確認していきましょう。

Excelワークシートから読み取る設定画面

「単一セルの値」を選択した場合、取得したいセルの列と行を追加で選択します。下図の場合だと「A2」のセルの値を取得します。詳細メニューからはセルをテキスト値として取得するかどうか選択できます。

単一セルの値を選択時

現在、Excelインスタンスは下図のファイル情報が含まれています。A2セルの値は「2019/4/1 0:00」です。

Excel画面

実行すると下図のように指定したセルの値を取得できます。変数の型はDatetime型です。

日付型で取得

詳細メニューの「セルの内容をテキストとして取得」をONにして実行した場合は、以下のようにテキスト値に変換された値を取得することができます。

テキスト値で取得

「セル範囲の値」を選択した場合、複数のセルの値を一度に取得できます。先頭列と先頭行には取得したい範囲の一番左上のセルの値を指定します。一方、最終列と最終行には取得したい範囲の一番右下のセルの値を取得します。詳細には単一セルの取得の時と異なり「範囲の最初の行に列名が含まれています」というトグルボタンが追加されています。こちらをONにすると最初の行を列名として認識し取得してくれます。

セル範囲の値を選択時

上図の設定で実行してみましょう。A1セルからB3セルは下図の通りになっています。

Excel画面2

実行すると1行目が列名として2行目以降がデータ行として取得できています。データはDatatable型の変数として格納されます。

セル範囲の値で実行時変数

「範囲の最初の行に列名が含まれています」をOFFにした場合は「Column1」「Column2」…という風に自動で列名がつけられ、1行目もデータ行の1つとして取得されます。

列名OFF字

「選択範囲の値」を取得した場合の動くを見てみましょう。

選択範囲の値を選択時

指定したExcelインスタンスはA1行目からB7行目にかけて選択している状態です。上図の設定で実行してみましょう。

Excel画面3

実行すると、Datatable型の変数に選択した値が格納されました。

選択範囲の値で実行時変数

最後に「ワークシートに含まれる使用可能なすべての値」の動きを確認します。

ワークシートに含まれる使用可能なすべての値を選択時

上図設定で実行した場合、Excelは有効なデータすべてを取得するので1440行2列文のデータを取得しました。

ワークシートに含まれる使用可能なすべての値で実行時変数

4. Excelワークシート内のアクティブなセルを取得

Excelワークシート内のアクティブなセルを取得

「Excelワークシート内のアクティブなセルを取得」アクションを利用すると、指定したインスタンスのアクティブになっているセルの行と列を取得することができます。設定画面では取得したいインスタンスを設定すれば終了です。選択できるインスタンスがない場合は先に生成する必要があります。

Excelワークシート内のアクティブなセルを取得設定画面

下図のようのA3を選択している場合、ColumnIndexが1、RowIndexが3となります。

単一セル選択時 単一セル選択時変数

一方、範囲選択の場合は、選択している範囲の中で有効になっているセルが対象となります。下図の場合はB7セルが有効になっているので、ColumnIndexが2、RowIndexが7となります。

複数セル選択時 複数セル選択時変数

5. Excelの保存

Excelの保存

「Excelの保存」アクションを実行すると、指定したインスタンスのExcelファイルを保存することができます。設定画面では最初にExcelインスタンスを選択します。選択できるインスタンスがない場合は先に生成しましょう。次に保存モードの選択です。「ドキュメントを保存」を選択した場合は、デフォルトの設定で保存されます。筆者の場合だと、OneDriveのドキュメントの直下に「Book.xlsx」という名前で保存されます。「名前をつけてドキュメントを保存」を選択した場合は追加で保存するファイルの形式とパスを設定します。「ドキュメント パス」はフルパスを指定します。下図のようにドキュメント形式でExcelファイル形式を指定して、パスではテキスト形式を指定した場合、パスの形式が優先されます。

Excelの保存設定画面

実行すると、指定したパスに新しくファイルが保存されました。

実行結果

6. Excelワークシートに書き込む

Excelワークシートに書き込む

「Excelワークシートに書き込む」アクションを利用すると、指定したインスタンスのExcelファイルのセルに値を書き込むことができます。設定画面では最初にExcelインスタンスを選択します。選択できるインスタンスがない場合は先に生成する必要があります。次に書き込む値を入力します。書き込みモードは「指定したセル上」か「現在のアクティブなセル上」を選択できます。「指定したセル上」を選択した場合は書き込みたいセルの列と行を入力しましょう。

Excelワークシートに書き込む設定画面

実行すると、下図のように指定したセルに値が書き込まれます。

実行結果

7. Excelを閉じる

Excelを閉じる

「Excelを閉じる」を実行すると、指定したインスタンスのExcelファイルを終了することができます。設定画面では最初にExcelインスタンスを選択します。選択できるインスタンスがない場合は先に生成する必要があります。次にExcelが閉じる前にドキュメントを保存するかどうかを選択できます。保存する場合は更に名前を付けて保存するかどうかを選べます。名前を付けて保存する場合は追加でファイル形式とドキュメントを保存するフルパスを指定します。

Excelを閉じる設定画面

8. アクティブなExcelワークシートの設定

アクティブなExcelワークシートの設定

「アクティブなExcelワークシートの設定」アクションを利用すると、Excelファイルのアクティブなワークシートを切り替えることができます。設定画面では最初にExcelインスタンスを選択します。選択できるインスタンスがない場合は先に生成する必要があります。

アクティブなExcelワークシートの設定画面

次にアクティブにするワークシートを指定します。指定の方法には「インデックス」と「名前」の2通りがあります。例えば、下図の場合、「data」シートは名前が「data」、インデックスは「1」となります。「sample」シートは名前が「sample」、インデックスが「2」になります。また、現在アクティブになっているシートは「sample」です。「data」を名前かインデックスで指定して「アクティブなExcelワークシートを設定」アクションを行うと、アクティブなワークシートが「data」に切り替わります。

Excel画面

9. 新しいワークシートの追加

新しいワークシートの追加

「新しいワークシートの追加」アクションを利用すると、指定したインスタンスのExcelファイルにワークシートを追加することができます。設定画面では最初にExcelインスタンスを選択します。選択できるインスタンスがない場合は先に生成する必要があります。次に新しいワークシートの名前を入力してください。最後に新しいシートを最初に追加するか最後に追加するか選択できます。

新しいワークシートの追加設定画面

上図の設定で実行した場合、元々、「data」「sample」という2つのシートがあったExcelファイルの最後に、新しく「test」というシートが追加されました。

実行前 実行後

10. Excelワークシートから最初の空の列や行を取得

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

「Excelワークシートから最初の空の列や行を取得」アクションはExcelファイルにあるデータの最初の空行と列を取得することができます。データの全件数を取得したい時などにデータ数が変化しても可変的に取得できるので使い勝手がとても良いアクションです。取得した値でループさせてすべてのセルに同じ処理を行いたいときなどに使います。設定画面は取得対象とするExcelインスタンスを指定すれば終了です。

Excelワークシートから最初の空の列や行を取得設定画面

下図のExcelファイルは1441行2列のデータファイルになります。

Excel画面

先ほどの設定で実行すると、最初に空となる3列目と1442行目の値を取得できています。

実行後取得変数

11. Excelワークシートの列名を取得する

Excelワークシートの列名を取得する

「Excelワークシートの列名を取得する」アクションでは列番号を指定することで、その列名を指定することができます。下図のA、B、C…が列名となり、列番号は1から始まります。

Excel画面

設定画面は列番号を指定すれば終了です。

Excelワークシートの列名を取得する

列番号を3に設定して実行してみましょう。「C」という列名を取得することができます。

実行後取得変数

以上、「Excel」アクションについての解説でした。日常的によく使うExcelの自動化は業務を自動化させるうえで必須といえるでしょう。VBAやPythonを使う方法など自動化にはたくさんの方法がありますが、プログラミングを使わずに自動化できるのは筆者の知る限りRPAだけです。うまく使いこなして、業務を自動化させていきましょう。

→「Power Automate Desktop」の他の操作も見る

執筆者プロフィール

プロフィール画像

伊藤 丈裕

(株)サムテックのシステムエンジニア。応用情報技術者資格保有。
27歳の時、営業から完全未経験で転職。開発とWebマーケティングを担当。得意言語はJavaとJavaScript。

タイトルとURLをコピーしました