WinActor

2020.10.15
サンプルシナリオ 変数
配列関連ライブラリを使用して値の比較を繰り返すサンプルシナリオ

指定したファイルのデータを2次元配列ライブラリの変数に格納し、データ一覧にインポートした値との比較を繰り返すサンプルシナリオです。

配列ライブラリやデータ一覧の使用方法学習に利用することができます。
店内の品目コードごとの配置を配列に格納することで、比較処理のために必要なノードの数や、店内での配置を変更する場合の修正工数が削減されます。

本コンテンツをダウンロードする前にこちらの利用条件を必ずご確認いただき、内容に同意をしたうえでダウンロードしてください。 また、"コンテンツの利用条件"は下のボタンからダウンロードし、お手元で保管してください。

サンプルシナリオ概要

はじめに

配列関連ライブラリを使用して、商品の品目コードごとの店内の配置を記載したファイルと、入荷した商品情報を記載したファイルで、品目コードの比較を繰り返し、店内での配置を追記するサンプルシナリオ(以降、本サンプルシナリオ)について説明します。

本サンプルシナリオの概要

本サンプルシナリオは下記の業務内容を想定して作成しています。
業務内容:商店で入荷した商品の情報に、店内での配置を追記する作業をRPAで自動化する。

本サンプルシナリオは、以下の処理を行います。

  1. 商品情報のファイルをデータインポートします。
  2. 品目コードごとの配置を記載したファイルのデータを、2次元配列に格納します。
  3. 商品情報の品目コードと配列の品目コードの比較を繰り返し、等しい場合は配列の配置を商品情報に追記します。

[配列を利用するメリット]
a.配列を使用しない場合

  • 品目コードごとの配置の数だけノードを作成する必要があります。
  • 品目コードごとの配置を修正、追加する場合はノードや変数を修正、追加する必要があります。

9804_input1.png
品目コードの比較処理イメージ(配列を使用しない場合)

b.配列を使用した場合

  • 繰り返し処理で比較するため、品目コードや配置のノードは一つで済みます。
  • 品目コードや配置の修正や変更を、ファイルのデータの変更のみで行えます。
    配列を使用していない場合に比べてシナリオの作成や修正の工数を削減できます。

9804_input2.png
品目コードの比較処理イメージ(配列を使用する場合)

使用するWinActorモジュール

本サンプルシナリオでは、以下のWinActorモジュールを使用します。

  • ノード/変数/変数設定
  • ノード/変数/カウントアップ
  • 03_変数/02_辞書と配列/2次元配列操作(初期化)
  • 03_変数/02_辞書と配列/2次元配列操作(情報更新)
  • 03_変数/02_辞書と配列/2次元配列操作(情報取得)

動作確認環境

本サンプルシナリオは以下の環境で動作確認しています。

  • Windows 10
  • WinActor 6.3.0、WinActor 7.1.0
  • Office2019

本サンプルシナリオの使い方

本サンプルシナリオの実施方法は以下の通りです。

Step 1.商品情報ファイルの作成

商品情報を記載したファイル(以降、商品情報.xlsx)を作成します。ファイルは下記の条件に従い作成してください。
①ファイルの拡張子は.xlsxにします。
②操作マニュアル「WinActor_操作マニュアル」の「ループ実行で扱えるデータ形式」の形式に従い、データ名とデータを記載します。
③1行目のデータ名には「品目コード」と「配置」は必須で記載します。
④2行目以降のデータは「配置」の列のみ空白にします。

9804_input3.png
商品情報.xlsxの例

Step 2.配列に格納するデータを記載したファイルの作成

配列に格納する品目コードごとの配置の割り当てを記載したファイル(以降、品目データごとの配置.xlsx)を、下記の条件で作成します。
①ファイルの拡張子は.xlsxか.csvにします。
②操作マニュアル「WinActor_操作マニュアル」の「ループ実行で扱えるデータ形式」の形式に従い、データ名とデータを記載します。
③1行目のデータ名には「品目コード情報」と「配置情報」を記載します。
④2行目のデータに各品目コードごとの配置を記載します。

9804_input4.png
品目データごとの配置.xlsxの例

Step 3. WinActorで本サンプルシナリオを読み込み

WinActorを起動し、本サンプルシナリオを読み込みます。

Step 4. 動作に必要な変数を設定

本サンプルシナリオを実行するために必要な値を、変数一覧で設定します。

  • 品目コード配列ファイルパス
    • 「品目データごとの配置.xlsx」のファイルパスを入力します。ファイルパスは相対パスまたは絶対パスで入力します。
      例) 品目データごとの配置.xlsx

9804_input5.png
変数一覧の設定

Step 5. 動作に必要なファイルの準備

「商品情報.xlsx」をデータインポートします。
「品目データごとの配置.xlsx」を変数「品目コード配列ファイルパス」に設定したフォルダ内に配置します。

Step 6. WinActorで本サンプルシナリオを実行

本サンプルシナリオを実行します。
データ一覧の各データからチェックがすべて外れていれば、シナリオは終了しています。

9804_input6.png
シナリオ実行後のデータ一覧

Step 7. サンプルシナリオ実行終了後の確認

「商品情報.xlsx」の配置の列にデータが記入されていることを確認します。
記入されているデータが「品目データごとの配置.xlsx」で品目コードごとに割り当てた配置であることを確認します。

9804_input7.png
シナリオ実行後の「商品情報.xlsx」確認

トラブルシューティング

本サンプルシナリオのエラーメッセージの詳細は以下の通りです。

表示されるエラーメッセージ エラー内容と対処
表示されるエラーメッセージ

不正なファイルパスです。

エラー内容と対処

変数「品目コード配列ファイルパス」にファイルパスを設定していない、
xlsxとcsv以外のファイルを指定した場合などに表示されます。
変数に設定したファイルパスや拡張子を確認してください。

表示されるエラーメッセージ

EXCELファイルの読み込みに失敗しました。

エラー内容と対処

変数「品目コード配列ファイルパス」に設定したファイルパスにファイルが無い、
ファイルパスが間違えている場合などに表示されます。
変数に設定したファイルパスや、配置したファイルのフォルダ、ファイル名を確認してください。

表示されるエラーメッセージ

指定したファイルにデータが存在しません。

エラー内容と対処

変数「品目コード配列ファイルパス」に設定したファイルのデータが操作マニュアルの
「ループ実行で扱えるデータ形式」で記載されていない場合などに表示されます。
変数に設定したファイルの内容を確認してください。

サンプルシナリオ解説

本サンプルシナリオで使用している実装テクニックについて解説します。

データインポートによるループ実行について

「商品情報xlsx」はループ実行で扱えるデータ形式で作成しているため、1行ごとにデータ名に設定されたデータを、変数に設定してシナリオを実行します。
詳細は「WinActor_操作マニュアル」の「ループ実行」を参照してください。

9804_input8.png

データインポート後のデータ一覧

本サンプルシナリオの変数について

本サンプルシナリオの変数一覧に設定されている変数を、グループごとに説明します。

9804_input9.png

本サンプルシナリオの変数一覧の設定

  • 商品情報ファイル
    データインポートにより、「商品情報.xlsx」のデータが登録されている変数に設定されます。
    「品目コード」と「配置」以外は処理に使用しないため未設定です。

  • 品目コード配列ファイル
    「品目データごとの配置.xlsx」のファイルパスを設定します。
    繰り返しグループの設定により、ファイルのデータが変数に設定されます。

  • 配列情報
    配列の情報が変数に設定されます。
    データインポートによるループ実行で、変数が初期化されないように無効化をしています。

  • インデックス
    配列のインデックスを指定するための変数が設定されています。

  • 比較処理
    品目コードの比較処理で使用するための変数が登録されています。

「品目データごとの配置.xlsx」のデータを配列に格納する処理について

「品目データごとの配置.xlsx」のデータを配列(以降、品目コード配列)に格納する処理について説明します。
品目コード配列のデータは、ライブラリ「2次元配列操作(情報更新)」を繰り返して1つずつ格納されます。

9804_input10.png

品目コード配列を作成しているサブルーチングループ

①繰り返しの条件

9804_input11.png

繰り返しグループの条件

  • 「データ数」を選択することで「データファイル名」に指定したファイルのデータ数で繰り返し処理が実行されます。
  • ファイルはループ実行で扱えるデータ形式で記載されている必要があります。
  • 「配列数」は品目コードの比較処理で利用するため「カウンタ」に設定しています。
  • 本サンプルシナリオでは、変数「品目コード配列ファイルパス」に「品目コードごとの配置.xlsx」のファイルパスを設定しているため、ファイル内の「品目コード情報」と「配置情報」のデータを1行ずつ変数の値に設定して繰り返しをが実行されます。

②2次元配列へのデータの格納

9804_input12.png

2次元配列操作(情報更新)のプロパティ(品目コード情報設定用)

ライブラリ「2次元配列操作(情報更新)」を使用し、変数を下記の通り設定しています。(「品目コード情報」と「配置情報」用に2つ使用しています。)

  • 配列名・・・変数「品目コード配列名」を設定します。配列名は値である「品目コード配列」になります。
  • インデックス(行)・・・変数「行インデックス」(初期値:0)を設定します。
  • インデックス(列)・・・変数「列インデックス(品目コード)」(初期値:0)と変数「列インデックス(配置)」(初期値:1)をそれぞれ設定します。
  • 情報・・・「品目コードごとの配置.xlsx」のデータが設定された、変数「品目コード情報」と変数「配置情報」をそれぞれ設定します。


行インデックスは繰り返しグループの最後で1加算されます。
①と②の設定により、品目コード配列の0行目から順番に、列0には「品目コード情報」が、列1には「配置情報」のデータが格納されます。
配列[0][0],[1][0],[2][0]…⇒「品目コード情報」
配列[0][1],[1][1],[2][1]…⇒「配置情報」

品目コードの比較と「商品情報.xlsx」への追記について

品目コードを比較し、「商品情報.xlsx」に追記する処理について説明します。

9804_input13.png

品目コードの比較処理を実行しているサブルーチングループ

①繰り返しの条件

9804_input14.png

繰り返しの条件設定

全ての配列の行で比較処理を実行できるように、「行インデックス」が「配列数」より少ない場合に繰り返す設定にしています。
 
②比較用の品目コード情報の取得

9804_input15.png

2次元配列操作(情報取得)の設定(比較用の品目コード取得用)

ライブラリ「2次元配列操作(情報更新)」を使用し、配列から比較用の品目コードを取得します。
「取得情報」で設定した変数「品目コード(比較)」に、配列からの品目コードが設定されます。

③分岐の条件式の設定

9804_input16.png

分岐の条件式の設定

商品情報と②で配列から取得した品目コードを比較し、等しい場合は④の処理を実行します。

④商品情報の変数「配置」への値の設定

9804_input17.png

2次元配列操作(情報取得)の設定(配置への追記)


「取得情報」に設定した変数「配置」に、配列からの配置の値が設定されます。
また、値の設定後に繰り返しグループの処理を終了します。

①~④を繰り返すことで、品目コード配列の全ての「品目コード情報」を変数「品目コード」と比較し、
等しい場合は変数「配置」に品目コード配列の「配置情報」が設定されます。
変数「配置」の値は、データインポートした「商品情報.xlsx」の配置に追記されます。

変更履歴

版数 日付 修正内容
版数
1.0版
日付
2020/10/15
修正内容
初版
版数
1.1版
日付
2024/1/16
修正内容
・注意事項を削除
・ファイル名を「SS2010_9804_ArrayOperationRepeatComparison_1.0.1.zip」に変更

本コンテンツをダウンロードする前にこちらの利用条件を必ずご確認いただき、内容に同意をしたうえでダウンロードしてください。 また、"コンテンツの利用条件"は下のボタンからダウンロードし、お手元で保管してください。

"変数"に関連するその他のサンプルシナリオ

サンプルシナリオ一覧へ戻る
当サイトでは、お客さまに最適なユーザー体験をご提供するためにCookieを使用しています。当サイトをご利用いただくことにより、お客さまがCookieの使用に同意されたものとみなします。詳細は、「プライバシーポリシー」をご確認ください。