RPA初心者向け講座

配列操作の応用

2022年10月30日

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

テレワーク報告書のセル座標確認

 最初に、改めて集計したい「テレワーク報告書」のフォームと個々の項目のセル座標を確認いたしましょう。テレワーク報告書と各項目のセル座標については以下のとおりでした。

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

 

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

 次に、テレワーク報告書【集計表】を確認いたしましょう。

テレワーク報告書【集計表】(セル位置情報入り)

 これを基にして「セル座標ファイル」を作成しましたよね。覚えていますか?

セル座標ファイル

 セル座標ファイルにおいては、A5に「F4]、B5に「F3」、C5に「F2」、・・・、P5に「C11」として16列にデータが入っています。今回は、これらのデータをWinActorの一次元配列に取り込む操作について説明いたします。

セル座標情報を配列に

1次元配列操作(初期化)

 1次元配列操作を実行する場合には、シナリオの最初に「1次元配列操作(初期化)」を使います。この操作にはプロパティ画面での設定がないので、セットするだけです。

繰り返し操作

 繰り返し操作をセットした上で、今回はその中の操作を組み立てることになります。セル座標ファイルにおいては、A5に「F4]、B5に「F3」、C5に「F2」、・・・、P5に「C11」として16列にデータが入っていますので、繰り返し操作のプロパティ画面を開き、回数欄において「値⇒16」として設定します。

セル座標ファイルの情報を
配列にセットするシナリオ

セル座標の形式変換

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

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

R1C1形式

「なぜ、わざわざ、このようなわかりにくいことを説明しているのか?」と思っておられる方々も多いのではないかと思いますが、「A1」や「D10」といった表記方法では、行の位置については数値を用いていますのでコンピューター操作上処理しやすい訳ですが、列は違います。A、B、C、Dというアルファベットの記号を一つずつずらすためには、数値化した表記形式が必要となるからです。

 「ライブラリの18_Excel関連→09_セル位置」と進むと「R1C1形式→A1形式」という操作がありますが、これは、Excelのセル指定をR1C1形式からA1形式に変換する操作です。

 「その1」と「その2」の2種類がありますが、「その1」は、R1C1形式の行と列について、変数を別々に指定できます。セルの行と列をそれぞれ一つずつ移動させるような操作を用いる際には、こちらを使用します。

 「R1C1形式」で考えると列移動を数値化できるので、最初にこの形式でセルの位置を指定し、これを「A1形式」に変換して用いるときに使用します。

R1C1形式→A1形式その1

「R1C1形式→A1形式その1」のプロパティ画面

 セル座標ファイルのA5から開始して、B5、C5、・・・P5まで移動させたいので、繰り返し操作上は、R1C1形式で、R5C1から開始して、R5C2、R5C3、・・・R5C16まで移動させます。

 「R1C1形式→A1形式その1」のプロパティ画面を開くと、R1C1形式行、R1C1形式列、結果(A1形式)という3つの欄があります。

 R1C1形式で、R5C1から開始して、R5C2、R5C3、・・・R5C16まで移動させたいので、これらの欄には変数「セルの行」と変数「セルの列」を準備します。変数一覧表において、「セルの行」の初期値は「5」、「セルの列」の初期値は「1」と設定しておきます。

 A1形式に変換した結果は変数「指定セル」に保管します。

Excel操作(値の取得)

 次に「Excel操作(値の取得)」を設定します。プロパティ画面を開き、各欄の設定を行います。

Excel操作(値の取得)のプロパティ画面

 ファイル名の欄には変数として「セル座標ファイル」とします。後ほど、変数一覧にて初期値の詳細を設定する必要があることを忘れないように注意してください。

 次にシート名ですが、セル座標ファイルのSheet1にデータが記入されていますので、「値⇒Sheet1」と値を設定します。

 セル位置の欄には先ほどA1形式に変換した結果が保管されている変数「指定セル」とします。

 最後に、格納先変数ですが、いつものように「取得情報」としています。

1次元配列操作(情報更新)

 Excel操作(値の取得2)で変数「取得情報」に入れた情報を用いて配列の情報更新を行います。配列名は「配列」とします。配列[1]、配列[2]、配列[3]、・・・、配列[16]と情報更新していきます。1次元配列操作(情報更新)のプロパティ画面を開きます。

1次元配列操作(情報更新)のプロパティ画面

 配列名には「配列」を用います。「配列」の初期値の設定は不要です。1次元配列操作(初期化)によってすべて空白となっています。

 インデックスはセルの列の移動に合わせて対応するので変数「セルの列」を設定します。

 

 配列に入れる情報は、Excel操作(値の取得)で用いた変数「取得情報」にありますので、これを指定します。

 ところで、一連の操作は何を実行しているのか、きちんと理解できていますか? 念のため、もう一度、復習のために図解説明を見てみましょう。

情報の流れ(Excel操作(値の取得2)➡1次元配列操作(情報更新))

 エクセルファイルの「セル座標ファイル」においては、セル情報が記載されています。最初の情報は、5行目A列に書かれている「F4」という値です。この値を配列[1]に保管しようとしています。なぜか?セル座標をコンピューターに覚えさせておくと、あとから実際のデータを自動的に拾いに行くときに便利だからです。

セル座標ファイル

 そもそも、氏名→F4は何を意味しているのか、正確に理解できていますか?ゴーヤンの提出したテレワーク報告書の氏名が書かれているセル座標です。セルF4(4行目F列)を見てください。「ゴーヤン」と名前が書いてありますね。この座標を位置を配列[1]に入れて覚えさせた訳です。

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

 

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

カウントアップ

 今回の一連の操作においては、1つずつ移動させたいのは、変数「セルの列」です。ということで、カウントアップにおいては、これをセットすると、一つずつ値を増やし、セルの列を自動的に移動させることができます。

カウントアップのプロパティ画面

 セルの列が1から16まで移動するので、計算結果の欄には、変数「セルの列」を指定します。加算値は1ですね。

本日のまとめ

 繰り返し操作で何が行われているのかについて、念のため、図解説明いたします。

【1回目の操作イメージ】5行目A列の情報「F4」を配列[1]にセット

1回目の操作イメージ図

【2回目の操作イメージ】5行目B列の情報「F3」を配列[2]にセット

2回目の操作イメージ図

【3回目の操作イメージ】5行目C列の情報「F2」を配列[3]にセット

3回目の操作イメージ図

                  ●

                  ●

                  ●

【16回目の操作イメージ】5行目P列の情報「C11」を配列[16]にセット

16回目の操作イメージ図
ゴーヤン
ゴーヤン

配列操作の応用方法は理解できましたか?
操作はそれほど複雑ではないと思いますが、まずは、何を行っているのかを正確に理解することが必要不可欠です。
次回は、エクセルファイルを自動的に開いたり、保管したりする操作について説明します。
お楽しみに!

【広告】U-NEXT


【広告】アソビュー