LoginSignup
0
5

More than 3 years have passed since last update.

Power Automate Desktopがなんとなく使える講座 #1 Excelデータのコピー

Last updated at Posted at 2021-04-20

 Power Automate Desktopを使ってExcelを操作する方法を見ていきましょう。インストールの仕方や、細かい操作説明は割愛します。

Power Automate Desktopの新規フロー作成

 Power Automate Desktopで新規フローを作成すると、以下の画面が表示されます。
image.png
 それぞれ、アクションペイン、ワークスペース、変数ペインと呼びます。

Excelの起動

 アクションペインから「Excelの起動」を選択し、ワークスペースにドラッグ&ドロップすると、以下の画面が表示されます。
image.png
 Excelの起動の項目では、「空のドキュメントを使用」と「次のドキュメントを開く」が選択できます。既にあるエクセルファイルを開く場合は「次のドキュメントを開く」を選択し、ドキュメントパス欄の右側の「ファイルを開く」アイコンを選択してエクセルファイルを選択します。
 今回は、以下のようなエクセルブックを使っていきます。
image.pngSomething went wrong

すべてのExcelワークシートの取得

 アクションペインから、「すべてのExcelワークシートの取得」をワークスペースにドラッグ&ドロップします。
image.png
このアクションで生成される「SheetNames」という変数に入る値を確認するために、一度実行してみます。実行後に変数ペインの「SheetNames」をダブルクリックすると、変数の値が表示されます。
image.png
 SheetNamesは、エクセルブックのシート名が、0から始まるリストとして取得されており、最初のシートは SheetNames[0] となります。

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

 今回のエクセルブックは、シートが1つしかないので、特に気にする必要はないのですが、複数シートがあり、最終保存時にどのシートが選ばれているか分からないような場合に、データが登録されているシートをアクティブに指定する必要があります。
 「アクティブなExcelワークシートの設定」では、シートの指定にシートの名前かインデックスを使うことができます。インデックスは、エクセルブック内のシートの順番のことで、1から始まります。単純にインデックスで1を指定すれば良いのですが、ここは先に取得したワークシート名のリストを使って以下のように、ワークシート名に「%SheetNames[0]%」指定します。
 変数名を入力するには、入力項目の右端にある「{x}」をクリックすると、ウインドウが開いて選択することができます。「SheetNames」を選択すると、ワークシート名には「%Sheetnames%」と表示されますので、最後の%の前に「[0]」を入力します。
image.png

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

 ワークシートのデータを読み込むには、まず、読み込む範囲を調べます。「Excelワークシートから最初の空の列や行を取得」を使うと、最後のデータが入ってるセルの次の列、行の位置を取得することができます。
image.png
 その値を使って、「Excelワークシートから読み取り」を行います。「取得」の項目では、「単一セルの値」「セル範囲の値」「選択範囲の値」が選べますが、今回は「セル範囲の値」を選んで、1列1行目から、先ほど取得した FirstFreeColumn, FirstFreeRowの範囲を選択します。
 ただし、FirstFreeColumn, FirstFreeRowの値は最後のデータの次の列、行を示しているので、最後のデータは、それより1少ない値にしなければいけません。「変数を小さくする」で1づつ減らしてやってもよいのですが、「最終列」、「最終行」の項目で直接書き込むことも出来ます。変数は「%」で囲まれるのですが、変数を計算するには、「%FirstFreeColumn -1 %」のように、%で囲まれた中に計算式を書き込みます。
image.png

新しいワークシートにデータを書き込む

 「新しいワークシートの追加」を選択し、新しいワークシートを作ります。作成場所は一番前か、一番最後を選択できます。今回は、「最初のワークシート」を選択して、先ほどのデータの入ったシートの前に追加します。
image.png
 次に、「Excelワークシートに書き込み」を選び、書き込む値に「%ExcelData%」と、列、行に1を指定します。
image.png

 ここまでのフローは以下の通りとなります。
image.png

 実行させると、以下のように、全データを別シートにコピーすることができました。
motion1.gif

0
5
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
0
5