RPA初心者向け講座

2次元配列操作

2022年11月6日

【広告】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

エクセルシートと2次元配列

両者の類似点を活用する

 テレワーク集計表は、以下のとおり、エクセルシートを活用して、1回分の報告書の内容を1行に書き込み、報告書の提出が増えると、どんどん行を増やしていく形式となっています。

 さて、個々のテレワーク報告書からそれぞれ読み取った情報をWinActorの配列情報として一旦保管しておき、これらを一気に集計表フォームに書き込む動作を行うシナリオ作成を考えることとします。そうすることで、コンピューターに実行させる動作としては、エクセルファイルをその都度、開いたり閉じたりすることなく、一度の開閉操作で動作させることができる上に、一行ごとの作業を報告書の数、つまり行数に応じて繰り返せばよいだけなので、シナリオ設計上もシンプルです。

テレワーク集計表

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

2次元配列のイメージ図

テレワーク集計表のセル座標確認

テレワーク集計表のセル位置

 今回の課題はゴーヤンから提出された3日分のテレワーク報告書を「テレワーク報告書【集計表】」に一括記載することです。集計表にデータが入るセル座標を記載すると次の図のような感じで、座標を記載したセルにデータが入ります。

テレワーク集計表

 ここで念のため、セル位置の形式変換について復習いたしましょう。

 WinActorにおいては、エクセルの「セルの位置」を示す形式として、「A1」のように、エクセルの各シートに付されたセル位置を記号で認識する形式「A1形式」のほか、「R1C1」として記載し、セル位置を認識する形式「R1C1形式」の2種類が用意されています。

 「R1C1」は、Rが行(横)、Cが列(縦)を意味していますので、例えば、D10は、10行D列という意味ですが、Dと言う表記は、A、B、C、Dと4番目の列を示しているので、「R1C1形式」で表すと「R10C4」となります。

R1C1形式

2次元配列上の割り当てイメージ

 2次元配列の割り当てイメージを考えます。2次元配列は、例えば、配列[1,1]のような感じで、エクセルシートと大変似ていると説明しました。さらに具体的に平面上に2次元配列の割り当てイメージを書いてみると次の図のような感じになります。エクセルシートと全く同じです。

2次元配列上での割り当てイメージ図

 作成するシナリオの冒頭で「2次元配列(初期化)」を設定すると、このようにすべて空欄のシートがWinActorの配列として用意されるので、好きなところにデータを保管すればよいのです。どのような保管の仕方にするのかについては、シナリオ作成者が自由に設定することができますので、正に好きなように使えばよい訳ですが、一例として、イメージしやすい保管方法をご紹介します。

 先ほどの「テレワーク報告書【集計表】」におけるセル座標位置を見てみると、1行目から4行目までは表題や表の見出しに使っていますので、実際にデータを書き込みたい場所は、5行目からです。最初のデータが5行目、次のデータが6行目、次に7行目と書き込むことになります。そうすると、2次元配列上の割り当てについても同じ座標になるようにしておくと、行と列の値が一致するので一層イメージしやすいかと思います。

 要するに、2次元配列上の割り当てについては、どこを使ってもよいので、作成したい【集計表】と同じ座標位置にデータを保管しておくようにすると、仮想空間である2次元配列上の割り当てもわかりやすくなると思います。

2次元配列上での割り当てイメージ(一例)

セル座標ファイル上のデータの保管場所

 セル座標ファイルについて覚えておられるでしょうか?何?忘れた?ちょっと復習いたしましょう。

 そもそもゴーヤンのテレワーク報告書を【集計表】に自動集計したい訳ですが、各報告書から情報を読み取るためには、データが書き込まれているセル座標の正確な位置が重要です。

ゴーヤンのテレワーク報告書
テレワーク報告書(セル位置情報入り)

 このセル位置情報を一括して保管しているのが「セル座標ファイル」でした。

セル座標ファイル

 コンピューターにこの情報を覚えさせる必要があります。そのためには、配列操作を行い、どこかの配列情報として保管しておく必要がありますが、今回は、先ほどの2次元配列での割り当てイメージにて考えたとおり、配列の割り当てとして1行目から4行目が空いているので、空いている1行目に「セル座標ファイル」の情報を保管することにします。このように割り当てると、2次元配列[R,C]だけで処理できる上に、列情報の順番も同じなので、大変わかりやすいと思います。

セル座標ファイルから取り込んだ情報の保管イメージ

テレワーク集計表のシナリオ設計

シナリオ全体の骨格を最初に考える

 さて、今回の課題に必要な基礎事項はすべて確認できましたので、いよいよ本格的にシナリオ作成へと進みたいと思います。

 シナリオ作成で最も重要なことは、全体の骨格を最初に考えることです。パーツごとにあれこれ作成してから最後につなぎ合わせて完成させるという方法もありますが、このやり方は、シナリオの流れや変数の設定など後から不備を発見しづらくなりますのでお勧めしません。まずは、全体の骨格を最初に考えましょう。

作業工程の確認

 最初に、今回の課題について改めて作業工程を確認しましょう。

シナリオ全体の骨格
 2次元配列操作(初期化)

 今回のシナリオ作成においては、2次元配列操作を行いますので冒頭に「2次元配列操作(初期化)」が必要です。これ以降の工程についてはグループごとに確認して参ります。

 グループ:セル位置取得

 ゴーヤンのテレワーク報告書から正確に全記載情報を読み取るためには、「セル座標」が必要不可欠でした。そこで、最初のステップは「セル位置取得」です。上述の「セル座標ファイル」を事前に作成し、シナリオ上でセル位置情報を取り込みます。

 グループ:全ファイルデータ取得

 次に、予め指定したフォルダに集計したいゴーヤンのテレワーク報告書をすべて保管して置き、ここに保管したファイルを自動的に次々開いて、各ファイルに記載されている報告書の情報を読み取り、WinActorの配列情報として保管する工程が必要です。この工程を「全ファイルデータ取得」として、整理します。

 グループ:全ファイルデータ設定

 最後に、WinActorの配列情報として保管した全情報を「テレワーク報告書【集計表】」に書き込む工程です。この工程を「全ファイルデータ設定」として整理します。

ゴーヤン
ゴーヤン

今回の勉強はここまでといたしましょう。
次回からは、各グループの工程詳細について説明いたします。
お楽しみに!

【広告】U-NEXT


【広告】アソビュー