〇やってみたこと
今回は、パワーオートメイトを使って、2つのエクセルファイル間でデータのコピペを自動化させてみました。
エクセルを使った業務では、ファイルごとに分かれているデータを一つのファイルに集約するということをよくやります。
サンプルとして下の図のとおり、2つのファイルを準備しました。
サンプル1のファイルには、下記のような表データが入っています。
これをサンプル2ファイルにコピペさせました。
〇パワーオートメイトのフローを作る。
自動化のフローを作るので、パワーオートメイトを起動させて、画面上にある “+”
をクリックします。
表示される最初の画面で、フローの名前を付けて “作成” をクリックします。
僕は、名前を “シートのコピペ” としました。
フローを作成する画面が表示されます。
画面の左側が各アクションの一覧です。
今回は、エクセルに関したアクションしか使いませんが、さまざまなアクションがあります。
自動化させたい作業のアクションを右側の画面にドラッグ&ドロップさせて、フローを作っていきます。
エクセルファイル間のデータのコピペなので、とりあえずエクセルを起動させます。
項目をドラッグ&ドロップさせると下図のようなダイアログが開きます。
任意のファイルのパスを取得したいので、赤く囲っている箇所をクリックします。
まず、サンプル1を開きたいので、選択して、開くを選択します。
ドキュメントパスが格納されました。
これは、手入力してもOKです。
“保存” をクリックします。
これでフローの一つ目のアクションができました。
続いて、“エクセルのワークシートを読み取る” をドラッグ&ドロップします。
先ほど、ファイルパスを格納したサンプル1ファイルが、ExcelInstanceという変数に格納されているので、それを選択。
取得したい範囲を “ワークシートに含まれる使用可能なすべての値” としました。
別の項目を選択すれば、任意のセル範囲も指定できます。
2つ目のアクションができました。
取得した表のデータは変数ExcelData に格納されます。
続いて、ペーストする為、サンプル2 のファイルを開いていきます。
ファイル1の時と同じく、“Excelの起動”をドラッグ&ドロップします。
ドキュメントパスにサンプル2のパスを格納させました。
サンプル2が変数 ExcelInstance2
に格納されました。
次に、サンプル2ファイルに表をペーストさせます。
“Excelワークシートに書き込む” をドラッグ&ドロップさせます。
サンプル2に書き込みたいので、Excelインスタンスは ExcelInstance2 を選択しました。
ファイル1のデータをペーストさせたいので、書き込む値には、“ExcelData” を選択します。
どこに、ペーストするかを決めます。
僕は、“現在のアクティブなセル上” を選びました。
好きなところにペーストさせたいときは、上の “指定したセル上” を選びます。
これで、
①ファイル1を開く
②表データを読み込む( コピー )
③ファイル2をを開く
④ファイル2に書き込む( ペースト )
のフローが完成しました。
画面上の “実行” ボタンを押して、フローを動かしてみましょう。
サンプル2のファイルにサンプル1の表データが読み込まれました。
今回は、罫線や書式設定まで読み込ませることができませんでした。
データを変数に格納している時点で、無理じゃないかなと思っていましたが、思っていた通りでした。
2つのエクセルファイルの間でデータのやりとりは出来ましたが、ここまでのフローだと、エクセルファイルが開きっぱなしで終了しています。
そこで、ファイルを閉じるアクションを追加していきます。
“Excelを閉じる” をドラッグ&ドロップ します。
サンプル1を閉じるので、“ExcelInstance” を選び、閉じる前に“ドキュメントを保存” させました。
サンプル2についても、同様の処理を行います。
サンプル2は “ExcelInstance2” に格納されているので、こんどはそちらを選びました。
サンプル1とサンプル2を閉じるアクションが追加されました。
このフローを起動させると、サンプル1の表データがサンプル2ファイルへコピペされ、
エクセルファイルが保存されて閉じられます。
〇まとめ
今回は、パワーオートメイトを使用して、2つのエクセルファイル間でデータのやりとりを行うフローを作成しました。
もし、データを読み込みたいファイルが3つ、4つと増えるなら、アクションを追加していけばOKです。
僕は、エクセル作業の自動化を普段はVBAを使用して行っています。
その中でも、複数のファイルから、一つのファイルにデータを集約させる作業(ファイル間のコピペ)はとてもよく行います。
RPAツールを使った自動化は、VBAをマスターするより簡単に行うことができると感じました。
今回の、ファイル間のデータのやりとりをVBAでコード化したら・・・
こんな感じになります。
流れは同じです。
です。
VBAに慣れている人からすると、むずかしくはなく、
VBAを勉強し始めた人からすると、すんなりとはいかない内容です。
しかし、パワーオートメイトを使うと、マウスでドラッグ&ドロップするだけで、自動化のフローを作れてしまします。
すごいですね、パワーオートメイト。
0 件のコメント:
コメントを投稿