LoginSignup
4
4

More than 3 years have passed since last update.

Automation Anywhere でList変数、Array変数を使う

Posted at

概要

Automation Anywhere では通常の変数 (Value) のほかに、List (1次元)とArray (2次元)があります。ただし、特にListは、通常のプログラミング言語の1次元配列とは使い勝手が違うので、解説したいと思います。

List変数の特徴

Automation AnywhereにおけるList型変数は、複数の値をリストとして保持して1つずつ取得できます。データの1次元配列に似ています。ただし、通常の配列変数のように引数に数字を指定してn番目の値を取り出す、という使い方ではなく、リストから1つずつ順番に値を取り出すことが想定されています。各要素には番号付けがされていません。変数の命名規則1では、$lstList$のように"lst"を前につけます。

どんな場面で使えるのか?

ユーザーシナリオとしては以下のようなことが考えられます。

  • メールアドレスのリストを保持 → 一斉にメールを送る
  • Webアドレスのリスト → Webスクレイピングを一斉に行う
  • ループ内で利用する値のリスト

LOOPコマンドでの要素の列挙

List変数を生かすことができるコマンドのひとつにLOOPがあります。

image.png

LOOPの条件として、List変数を指定しておくと、ループの中で参照するList変数は要素を1つ返します。たとえば以下のアクションリストを作成します。LOOPコマンドを追加した後、単純にMessage BoxコマンドでList変数の中身を表示するものです。
image.png

ここで$my-list-variable$には、以下の値が入っています。

my-value-1
my-value-2
my-value-3
my-value-4
my-value-5

すると、以下のようなメッセージボックスが順番に表示されます。
image.png

List変数を引数に持つコマンド

下記の他にもパラメータ指定ダイアログボックスの中のテキストボックスでF2を押すことで入力できる変数の候補にList変数が含まれる場合があります。

  • Clipboard - Assign To Clipboard
  • If/Else - Variable
  • Loop - List

List変数を出力するコマンド

  • Active Directory - Search
  • Excel - Find/Replace
  • Prompt - Prompt for File
  • String Operation - Split
  • Variable Operation

Array変数の特徴

Automation AnywhereにおけるArray型変数は、通常のプログラミング言語における配列型変数と近いです。配列の引数に指定できるインデックスは1から始まります。変数の命名規則1では"arr"を前につけ、$arrTable(1,3)$のような形で表現します。列数は$ArrayColumns($<Array 変数>$)$、行数は$ArrayRows($<Array変数>$)$を参照することで取得できます。

どんな場面で使えるのか?

複数の要素を持つ値をやり取りする様々なシーンで活用ができます。ユーザーシナリオとしては以下のようなことが考えられます。

  • Webページからデータを抽出する
  • Excel スプレッドシートまたはデータベースから、大量の行を含むデータを抽出する
  • レガシー システム、ERP システム、または他のアプリケーションとの間でデータの読み書きを行う
  • Excel からデータベースへと、さまざまなフィールドを含む注文フォームに入力する

初期化時にテキスト/Excel/CSV/データベースから値を読み込む

変数マネージャでArray変数を作成する際に、初期化の手段を以下の4種類から選択できます。

  1. Value (値を直接指定)
  2. Read from text file (テキストファイルから読み込み)
  3. Read from excel/csv file (Excel/CSVファイルから読み込み)
  4. Read from database (データベースから読み込み)

それぞれ、初期化をするためのユーザーインターフェイスがあります。

1. Value (値を直接指定)
配列の行、列の最大サイズを数字で指定します。データはスプレッドシートのようなダイアログボックスのインターフェイスで、画面上で要素を指定します。
image.png

2. Read from text file (テキストファイルから読み込み)
要素がカンマ区切りと改行で仕切られたテキスト形式のデータファイルを読み込んで初期化します。配列の行、列のサイズはデータから決定されます。
image.png

3. Read from excel/csv file (Excel/CSVファイルから読み込み)
ExcelファイルもしくはCSVファイルを読み込んで初期化します。シートの中から読み込むデータの範囲を選択するオプションがいくつかあります。配列の行、列のサイズはデータから決定されます。
image.png

4. Read from database (データベースから読み込み)
ODBCの接続文字列を使って接続するデータベース (Microsoft Access, SQL Server, Oracle Database等)からデータを取ってきます。データ取得のためのSQL文を指定することができます。配列の行、列のサイズはデータから決定されます。
image.png

特筆すべきは、ここでどの手段で初期化したかにより、後でVariable Operationコマンドで値をまとめて再初期化する際に、初期化を行った方法での再初期化が可能だということです。つまり、Array変数は厳密にいうとさらに上記の4種類に分かれていることになります。(変数マネージャで、それぞれのArray変数のOptionを見ると、種類がわかります。)
image.png

Variable Operationコマンドを使用したときの、各Array変数を再初期化しようとしたときのユーザーインターフェイスは、初期化の時と同じ画面となります。
image.png

1. Value (値を直接指定)
image.png

2. Read from text file (テキストファイルから読み込み)
image.png

3. Read from excel/csv file (Excel/CSVファイルから読み込み)
image.png

4. Read from database (データベースから読み込み)
image.png

Array変数を引数に持つコマンド

下記の他にもパラメータ指定ダイアログボックスの中のテキストボックスでF2を押すことで入力できる変数の候補にArray変数が含まれる場合があります。

  • Clipboard - Assign To Clipboard
  • If/Else - Variable
  • Task - Run Task

Array変数を出力するコマンド

Array変数は通常の変数を受け付けるコマンドには、ほとんどの場合選択肢として表示されます。太字のものは通常の変数は指定できずArray変数のみを受け付けるものです。

  • Clipboard - Assign To Clipboard
  • Clipboard - Assign From Clipboard
  • Error Handling - Begin Error Handling
  • Excel - Get Cells
  • OCR
  • Printers - Get Default Printer
  • Prompt - Prompt for Value
  • Prompt - Prompt for Yes/No
  • Prompt - Prompt for Folder
  • Services - Get Service Status
  • SNMP - Get or Get Next or Walk
  • SOAP Web Service
  • String Operation (Split以外)
  • Task - Run Task
  • Terminal Emulator - Get All Fields
  • Variable Operation
  • Web Recorder - Execute JavaScript Function
  • Window Actions - Get Active Window Title
  • XML - Get Node(s) or Execute XPath Function or Validate XML Document or Save Session Data

参考記事

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4