RPA初心者向け講座❸
情報の受け渡しの復習
前回は「エクセル操作」と題して、「Excel操作(値の取得)」と「Excel操作(値の設定)」について説明いたしました。「Excel操作(値の取得)」は、エクセルシート上の情報を一つ取り出し、WinActorの変数に取り込む操作、そして、「Excel操作(値の設定)」は、WinActorの変数にある情報をエクセルシート上に設定する(書き込む)操作でした。
また、「Excel操作(値の取得)」と「Excel操作(値の設定)」においては、セル位置を入力する方法が二通りあり、セル(行)とセル(列)にわけて入力する方法を用いる操作がそれぞれ「Excel操作(値の取得2)」と「Excel操作(値の設定2)」ということでした。
さらに、各操作にはプロパティ画面があり、そこで変数名などを自由に決めてもよいところまで勉強しました。「変数の設定」について、大変気になるところだと思いますが、今回は、エクセル集計を自動化する上で、極めて重要かつ汎用性の高い方法の基礎となるところを先に説明します。
調査票と集計表の設計
集計の題材としているのは、「テレワーク報告書」の自動集計です。
この報告書は、ブランクフォームが決まっているので、テレワークを実施するたびに、各自が記入して一つのフォルダに入れていくというスタイルで管理しています。
多数のエクセルシートについてWinActorで自動集計化を実施するときに重要となるのが、調査票のフォームが決まっており、固定されていることです。なぜならば、前回勉強したとおり、WinActorでは、セル位置情報が極めて重要であるからです。
さて、次の図は、テレワーク報告書について、各自が記入するセルの位置情報を記載したものです。例えば、実施日の記入欄は、2行目・F列にあるので「F2」と書いてあります。
いくつかのセルが結合されている場合には、エクセルのルールとして一番左上のセル位置にデータが記入されていると処理されています。したがって、最初のテレワーク実施内容の具体的な記載箇所については「C6」となります。2番目の「C8」、3番目の「C10」についても同様です。
テレワーク報告書【集計表】(セル位置情報入り)をご覧ください。先ほどの調査票で調べた各セルの情報がどこに入るのかをわかるようにするために、集計表にもそれぞれ対応するセル位置情報を記載してみました。「Excel操作(値の取得)」によってWinActorの変数に取得した情報は、この対応表のルールに沿って「Excel操作(値の設定)」により設定される(書き込まれる)ことがお分かりいただけましたでしょうか。
重要なことは、どのような調査票のスタイルであっても、きちんと対応状況を予め整理すれば、実は、基本的にはどんな形式でも対応できるという点です。
最後に次のような形式で「セル座標」ファイルを作って、フォルダに保存すると事前準備はOKです。
繰り返し操作
WinActor画面左上の「表示(V)」をクリックすると左下図のように選択リストが出てくるので、その中から「ノード」を選ぶと、下図のノードのリストが現れます。次に「繰り返し」を選択します。
「繰り返し操作」とは、同様の作業を繰り返し実施したい場合に、事前に繰り返す回数などを指定することで、その回数分を実施するための操作です。ロボット(パソコン)による単純作業の自動化には欠かせない操作です。
さて、再度、テレワーク報告書【集計表】(セル位置情報入り)をみてみましょう。実行したい操作は、各自が提出するテレワーク報告書の情報を順番に取得し、テレワーク報告書【集計表】に順番に設定すればよい訳です。
つまり、最初の集計作業は、テレワーク報告書の「氏名:F4」の情報を取得し、これをテレワーク報告書【集計表】の「A5」に設定すれば一つ目が完了です。以下同様に、
テレワーク報告書の「所属:F3」の情報を取得⇒テレワーク報告書【集計表】の「B5」に設定
テレワーク報告書の「実施日:F2」の情報を取得⇒テレワーク報告書【集計表】の「C5」に設定
・・・・・
と繰り返せばよいことがわかります。
集計表のフォームも予め作成しましたので、何回繰り返すのかについては、氏名から休暇取得までの項目数を数えると、16回であることがわかります。
カウントアップ
➡
左図のようにエクセルファイル(ファイル名:テストファイル)のSheet1においては、A列の1行目から10行目までに1から10までの数字が入っているとします。
これをWinActorの繰り返し操作を使って、自動的にSheet2のB列の1行目から10行目までに書き写す操作を考えます。
シナリオ作成を簡単にするため、エクセルファイルは開いており、すでにSheet2も準備されているものとします。
最も重要なことは、セル座標がA1→A2→A3→・・・
最も重要なことは、セル座標がA1→A2→A3→・・・・・・→A10と移動する動きにWinActorの繰り返し操作がきちんと対応できるように設計することです。繰り返す回数は10回ですね。行の位置は一つずつ大きくなっていきますが、「値の取得」のときに列の位置は「A」、「値の設定」のときには「B」です。
値を一つずつ加算する操作で使用するのが「カウントアップ」です。ノードの「変数」の項目の中にあります。繰り返し操作の中に取り込んで使用します。
カウントアップのプロパティ画面を開くと、計算結果と加算値を入力する欄があります。計算結果には、カウントアップで加算したい変数名を入れます。例えば、上述の例であれば、データのセル位置の行を一つずつ動かしていく必要があるので、例示では「データの行」という変数名にしています。繰り返しになりますが、変数名はシナリオ作成者がわかればよいので、名称は何でも大丈夫です。加算値は一つずつ加算して動かしていくので「1」を設定します。
シナリオの作成イメージは、繰り返し操作の中に、Excel操作(値の取得)➡Excel操作(値の設定)➡カウントアップを入れて、きちんと動作するようにそれぞれの操作で細かくプロパティの設定を行います。
繰り返し操作を用いたシナリオ作成
繰り返し操作を選び、次に、繰り返しグループの中に、Excel操作(値の取得2)、Excel操作(値の設定2)、カウントアップを順に挿入します。
繰り返し操作のプロパティ画面を開きます。今回の作業は、Sheet1のA列にある10個の数字をSheet2のB列にコピーする作業です。したがって、最初から回数がわかっていますので、回数欄には、変数名「回数」を入力します。変数名は何でもOKです。変数を使用せずに「値⇒10」と設定することもできます。
Excel操作(値の取得2)のプロパティ画面を開きます。
今回は、Sheet1のA列にある10個の数字をSheet2のB列にコピーする作業なので、シート名の欄で「値⇒Sheet1」、セル(列)の欄で「値⇒A」と指定します。
ファイル名、セル(行)及び格納先変数の各欄には変数を設定します。ここでは以下の図のとおり、「テストファイル」、「セルの行」、「取得情報」としました。なお、格納先変数とは、Excel操作(値の取得2)によって取得した変数を入れる箱です。この講座では何度も情報の受け渡し図を使っていますので、中央に置いてある箱のことですね。
次に、Excel操作(値の設定2)のプロパティ画面を開きます。
値の設定のときには、Sheet2のB列に取得した情報を書き込みますので、シート名の欄で「値⇒Sheet2」、セル(列)の欄で「値⇒B」と指定します。
設定値、ファイル名、セル(行)の各欄には、変数を設定します。設定値とは、先ほどの格納先変数で指定した取得情報を入れている箱を指します。上記と同様に、変数を設定すればOKです。
カウントアップのプロパティ画面を開きましょう。
セルの行が1から10まで移動するので、計算結果の欄には、変数「セルの行」を指定します。加算値は1ですね。
変数一覧の設定
最後に、WinActorにおけるシナリオ作成において最も重要なところを説明します。「変数一覧」における各変数の初期値の設定です。変数の名称は何でもよい訳ですが、各プロパティ画面設定した変数には何も情報が入っていませんので、初期値の設定を忘れると正しく動作しません。
さて、WinActor画面上部の各選択項目の中から「変数一覧」を選び、それを開くと、各プロパティ画面で設定した変数の一覧が表示されます。最初は、各変数には初期値が設定されていませんので、各変数ごとに必要な初期値を入力します。
まず、変数「回数」は、繰り返し操作で設定しました。今回の繰り返し回数は10回なので初期値に「10」を設定します。
次に、変数「テストファイル」です。対象となるファイルが保管されている場所を正確に設定します(※上記の表に表示されているとおりに設定するのではなく、皆さまの使用しているパソコンにて実際に保管されている場所を調べて記入してください。)
セルの行は、1から10まで移動するので、初期値には「1」を設定します。
取得情報は、Excel操作(値の取得2)でエクセル上の情報を取得したデータを保管する変数なので、初期値の設定は必要がありません。空欄にしておきます。
皆さま、今回の勉強はここまでです。
繰り返し操作とカウントアップを使ったシナリオ作成の基本はご理解いただけましたか?
次回は、今回作成したシナリオについて改善点を考察した上で、配列操作の基本について説明いたします。