RPA初心者向け講座

エクセルファイルの自動開閉

2022年10月31日

【広告】RAKUTEN

RPA初心者さま向け講座❻

RPA初心者さま向け講座
RPA初心者さま向け講座

RPA(Robotic Process Automation:ロボティック・プロセス・オートメーション)とは、これまでに人間が手作業で行っていた業務をソフトウェアのロボットに任せ、自動化していく技術のことです。この講座では、RPAの初心者さま向けにWinActorに関するシナリオの作り方やデータ設定の原理について説明。

第1回 RPAとは何か?
第1回 RPAとは何か?

RPA(ロボティック・プロセス・オートメーション)とは、手作業で行っていた業務をソフトウェアのロボットに任せ、自動化する技術です。エクセルを使用して日々の事務を進めておられる方が多いので、作業を自動化で飛躍的に効率が上がります。

第2回 エクセル操作
第2回 エクセル操作

Excel 操作(値の取得)は、エクセル上の情報(データ)をWinActorに「取得」し「変数の設定」で予め指定した変数に取り込む操作、Excel 操作(値の設定)は、WinActorの変数に保管されている情報をエクセル上に書き込む操作です。

第3回 繰り返し操作とカウントアップ
第3回 繰り返し操作とカウントアップ

「繰り返し操作」とは、同様の作業を繰り返し実施したい場合に、事前に繰り返す回数などを指定してその回数分を実施するための操作です。ロボット(パソコン)による単純作業の自動化には欠かせない操作です。カウントアップとペアで使います。

第4回 配列操作の基本
第4回 配列操作の基本

「配列」は、変数の箱を並べたイメージで考えるとわかりやすいと思います。一直線に並べたものが「1次元配列」、平面的に並べたものが「2次元配列」です。1次元配列の場合、自動的に「配列[1]」「配列[2]」「配列[3]」・・・と番号を振ってくれます。

第5回 配列操作の応用
第5回 配列操作の応用

配列操作の応用でセル座標情報を配列に取り込み、コンピューターに覚えさせます。後から実際のデータを自動的に拾いに行くときに便利だからです。配列はインデックスで管理するので、簡単に大量の情報をコンピューターに覚えさせることができます。

第6回 エクセルファイルの自動開閉
第6回 エクセルファイルの自動開閉

多数のエクセルファイルを自動集計するためには、自動的に開いたり、閉じたりすることが必要不可欠です。ファイル名を個別に指定せず、RPAが自動的に順次エクセルファイルを開くと汎用性が高まります。「ファイル一覧(ファイル名)取得」を活用します。

第7回 2次元配列操作
第7回 2次元配列操作

WinActorの2次元配列のイメージは、正に縦横の平面上に箱が並べられているイメージです。エクセルシートとよく似ていると思いませんか?この特徴をシナリオ作成に活かします。2次元配列の割り当てイメージを考えます。エクセルシートと全く同じです。

第8回 セル位置の情報取得
第8回 セル位置の情報取得

エクセルの自動集計に関するシナリオ作成について詳しく説明します。まずは、冒頭の「2次元配列操作(初期化)」及び「グループ:セル位置取得」に関するシナリオ作成について説明いたします。 「グループ」のボックスを設置し、各工程ごとにわけて整理します。

第9回 全情報の取得シナリオ
第9回 全情報の取得シナリオ

全ファイルデータ取得について説明します。各テレワーク報告書から情報を取得し、配列情報として保管します。ポイントは「ファイル一覧(ファイル名)取得」で取得したファイル名を用い、これを「Excel開く(前面化)」を使って開くところです。

第10回 全情報の設定シナリオ
第10回 全情報の設定シナリオ

全ファイルデータ設定について説明します。ポイントは、エクセルシートと2次元配列の構成が類似してるところを応用した情報処理です。2次元配列上での割り当てイメージ図で要確認します。最後に「Excel操作(名前を付けて保存)」で書き込みが完成です。

第11回 全シナリオの総括
第11回 全シナリオの総括

変数の初期値は自分で設定します。その整理はシナリオの最終確認として極めて重要です。ミスの見落としを防ぐために、工程のグループごとに大別し、初期値設定の要否で区別することで見やすく再配置することがお薦めです。エラー発生の最大の原因は変数設定の誤りです。

第12回 シナリオの汎用性(最終回)
第12回 シナリオの汎用性(最終回)

新しい課題にチャレンジするにあたり、変数の初期値設定等を少し変えるだけで、これまでに作成したシナリオ操作の骨組みをそのまま活用できることをご紹介いたします。このシナリオの汎用性の高さを実感してくださいませ。シナリオ自体の構成は何も変更する必要はないのです。

previous arrow
next arrow
RPA初心者さま向け講座
第1回 RPAとは何か?
第2回 エクセル操作
第3回 繰り返し操作とカウントアップ
第4回 配列操作の基本
第5回 配列操作の応用
第6回 エクセルファイルの自動開閉
第7回 2次元配列操作
第8回 セル位置の情報取得
第9回 全情報の取得シナリオ
第10回 全情報の設定シナリオ
第11回 全シナリオの総括
第12回 シナリオの汎用性(最終回)
previous arrow
next arrow

エクセルファイル開閉の基本

Excel開く(前面化)

 WinActorを使って多数のエクセルファイル(例えば、テレワーク報告書など)を自動集計するためには、自動的にエクセルファイルを開いたり、閉じたりすることが必要不可欠です。今回は、まず自動的に開く方法について説明します。

「ライブラリ➡18_Excel関連➡01_ファイル操作」と進んでください。その中に「Excel開く(前面化)」という操作があります。エクセルファイルを開く際にはこれを使用します。「前面化」って何?と気になる方もいらっしゃるかもしれませんが、これは、複数のエクセルファイルを開くときに、RPAの識別が容易になるように設定されていることを反映しています。初心者のうちは特に気にしなくても大丈夫です。

ライブラリ➡18_Excel関連➡01_ファイル操作

 「Excel開く(前面化)」のプロパティ画面を開いてみましょう。

「Excel開く(前面化)」のプロパティ画面

 前回「第5回 配列操作の応用」においては、セル座標ファイルというエクセルファイルは最初から開いてありましたが、今回は、これを「Excel開く(前面化)」を使って開いてみましょう。

 ファイル名とシート名を入力する欄がありますので、ファイル名の欄に「セル座標ファイル」、シート名は「値⇒Sheet1」と指定します。

Excel操作(保存なしで閉じる)

 作業が完了すると、開いたエクセルファイルを閉じる必要があります。セル座標ファイルを開いたのは、そこに記載されているセル座標情報をWinActorに配列情報として覚えさせるために実施していますので、セル座標ファイルの中身は何ら更新されていません。したがって、保存なしでそのまま閉じればよいので、「Excel操作(保存なしで閉じる)」を用います。この操作も同様に「ライブラリ➡18_Excel関連➡01_ファイル操作」と進んだところにあります。

 「Excel操作(保存なしで閉じる)」のプロパティ画面を開くと、ファイル名と実行結果という欄があります。ファイル名には保存なしで閉じるエクセルファイル名を指定するので「セル座標ファイル」と記入します。

 実行結果の欄については、プロパティ画面上の■設定項目の[実行結果変数]を見てください。「実行結果を格納する変数を指定してください。閉じるのに成功した場合はtrueが格納されます。」と書かれています。要するに、うまく閉じることができれば、指定した実行結果変数にtrueを書き込みたいので変数が必要ですよと言うことです。結局、変数名は何でもよいので、ここでは「管理」としてあります。

 前回「第5回 配列操作の応用」において作成したシナリオにエクセルファイルの開閉を入れてみましょう。これでファイルを手作業で最初から開いて置かなくても自動的に開き、作業を行い、自動的に閉じる操作が完成です。

「Excel操作(保存なしで閉じる)」のプロパティ画面
エクセルファイルの開閉を追加したシナリオ

ファイル一覧取得

ゴーヤンのテレワーク報告書と集計表

ゴーヤンのテレワーク報告書

 2022年8月、ゴーヤンは8月4日(木)、5日(金)、8日(月)の3日間、テレワークを実施しました。あれ、少ない?いえいえ、ゴーヤンは、そのあと長い夏休みを取得したので、8月に実施したテレワークは3日間だったのです。

 今回は、これら3つの報告書を試験的にWinActorで自動集計してみることにします。WinActorの動作は、3回でも千回でも設計したとおりに動くので、テスト用ファイルは3つあれば十分です。

テレワーク集計表

ファイル一覧(ファイル数)取得

 さて、多数のエクセルファイルを手作業で集計するときに、最初に行う作業は何ですか?そうです。一つのフォルダに集めますよね。あちらこちらに保管しているものを探しながら集計するなんて不便で作業効率が悪いので、誰でもどこか一カ所に集めると思います。

 WinActorに作業をやってもらうときも同じです。最初にどこかのフォルダに集計したいエクセルファイルを集めてください。これは手作業でやってくださいね。

 集計したいファイルを集めたら、次に確認すべきことがあります。そうです。1カ所に集めたファイルの数を確認しますよね?WinActorに作業をやってもらうときも同じです。WinActorにファイル数を数えさせます。今回は最初から3つだとわかっていますが、フォルダ内にファイルがいくつあっても自動的に対応できるようにファイル数を数えさせます。

 フォルダ内のファイル数を数えるときには「ファイル一覧(ファイル数)取得」を用います。「ライブラリ➡13_ファイル関連➡04_ファイル一覧と進むと発見できます。

ライブラリ➡13_ファイル関連➡04_ファイル一覧

 「ファイル一覧(ファイル数)取得」のプロパティ画面を開いてみましょう。フォルダ名とフォイル数の欄があります。

 今回、ゴーヤンのテレワーク報告書は「テストフォルダ」というところに入れています。後から変数一覧で、正確な初期値を入れるのを忘れないでくださいね。

「ファイル一覧(ファイル数)取得」のプロパティ画面

 ファイル数の欄には、変数「対象ファイル数」としました。きちんと動作すると、今回は3つのエクセルファイルをテストフォルダに入れてありますので、変数「対象ファイル数」には「3」が自動的に入力されます。

 ちなみに、フォルダ内に、関係ないファイルも混在しているとすべてカウントされ、あとでエラーが発生します。余計なファイルは混在させないことが基本です。

ファイル一覧(ファイル名)取得

 「Excel開く(前面化)」を用いて、エクセルファイルを自動的に開くには、ファイル名とシート名の指定が必須となっています。上述の「Excel開く(前面化)」の説明では、「セル座標ファイル」として一つしかないエクセルファイルを開くので、ファイル名の設定とその初期値を設定して開きましたが、この方法では、ファイル名とシート名を毎回指定しなければ開けないことになります。シート名は、バラバラの名称を使わないで、例えば「Sheet1」のように統一しておけば問題ないですが、ファイル名は個々に異なります。

 そこで、「ファイル一覧(ファイル名)取得」を使用し、フォルダ内に保管されているファイル名を順に取得することで、自動的にファイル名が得られるので、続けて「Excel開く(前面化)」において、エクセルファイルを自動的に開くことができるようになります。

 要するに、ファイル名を個別に指定せずに、RPAが自動的に順次エクセルファイルを開いてくれると汎用性が高まりますので、これを実行するために「ファイル一覧(ファイル名)取得」を使用します。

 つまり、この機能は、対象のフォルダ内に保管しているファイル名を順に取得し、それを変数の中に設定することに重要な意味があります。

 「ファイル一覧(ファイル名)取得」のプロパティ画面をみてみましょう。

「ファイル一覧(ファイル名)取得」のプロパティ画面

 フォルダ名は「テストフォルダ」ですね。

 カウンタ欄には、取得したいファイルの番号、つまり、1番目、2番目、・・・といった感じの値を指定しますが、順番にファイル名を取得したいので変数「ファイルカウンタ」としておきます。

 ファイル名にはWinActorが取得したファイル名を保管する場所です。変数「開くファイル」としておきます。

 種別欄については指定フォルダ内でファイルを見つければtrue、フォルダの場合falseが出力されると書いてあります。特段、出力結果は利用しないので「種別」としてあります。

取得したファイル名でエクセルファイルを開く

 上述の「ファイル一覧(ファイル名)取得」の説明は少し難しかったかもしれませんね。いずれにせよ、「ファイル一覧(ファイル名)取得」に続いて「Excel開く(前面化)」を実行すると説明の意味が見えてくると思います。

「Excel開く(前面化)」のプロパティ画面

 「Excel開く(前面化)」のプロパティ画面を開き、ファイル名のところに「開くファイル」と入力します。そうすると、繰り返し操作と組み合わせることで、フォルダ内のエクセルファイルを自動的に次々と開くことができます。

 また、繰り返し操作の設定においては、回数の欄に数字を設定するのではなく、ファイル一覧(ファイル数)取得で用いた変数「対象ファイル数」を入れます。今回は、ファイルが3つなので「3」が入っていることから、繰り返し操作は、3回繰り返されることになります。

 そして、先ほど設定した変数「ファイルカウンタ」を用いて、動作を進行させていく訳ですが、今回の勉強はとりあえず、ここまでといたしましょう。

ゴーヤン
ゴーヤン

皆さま、大変お疲れさまでした。
今回は、ちょっと難しかったでしょうか?

でも安心してください。
次回の講座から本格的にゴーヤンのテレワーク報告書の集計作業が始まりますので、
具体例を見ながら勉強していただくと、もっと理解度が上がると思います。
お楽しみに!

【広告】U-NEXT


【広告】アソビュー