配列(Array)に値(要素)を追加する方法
VB.NetであればReDimを使用して配列(Array)の要素数を変更することで、値(要素)を追加することが出来ますが、UiPathではReDimが使えないため、配列(Array)に値(要素)を追加することが基本的には出来ません。
では、どうやってUiPathで配列に値を追加するのかこれから説明します。
変数の作成
まずは配列を作成します。変数一覧でstring_array
という名前で変数を作成し、変数の型をArray of<String>
に変更します。

変更が完了したら、既定値に{"aaa","bbb","ccc"}
と入力し、配列を作成します。
次にリストを作成します。変数一覧でstring_list
という名前で変数を作成し、変数の型を型の参照
からList<String>
を選択し変更します。

変数の型を変更したら、既定値にNew List(of String)
と入力し、Listを初期化します。
これで、必要な変数の作成は完了しました。
配列をリストに変換する
次に配列(Array)をリスト(List)に一度変換します。
まず、繰り返し (コレクションの各要素)
を配置します。
アクティビティ検索欄に「繰り返し (コレクションの各要素)」と入力するかワークフロー
-> コントロール
-> 繰り返し (コレクションの各要素)
から配置してください。
配置が完了したら、「コレクション」にstring_array
と入力し、右側のプロパティ欄の「TypeArgument」をString
型に変更してください。

最後に本体内にコレクションに追加
を配置します。
アクティビティ検索欄に「コレクションに追加」と入力するかプログラミング
-> コレクション
-> コレクションに追加
から配置してください。
配置が完了したら、右側のプロパティ欄を以下の内容で設定します。
項目 | 設定内容 |
---|---|
TypeArgument | String |
コレクション | string_list |
項目 | item |

これで、配列をリストに変換することが出来ました。
2020/02/19 追記
繰り返し (コレクションの各要素) とコレクションに追加を使用しなくても
代入を使用してstring_list = string_array.ToListとなるように入力すると
ArrayをListに変換出来ます。
配列に追加したい値をリストに追加する
配列に追加したい値をコレクションに追加
を使用してリストに追加します。今回は、"ddd"
を追加します。
まず、先ほど配置した繰り返し (コレクションの各要素)
の下にコレクションに追加
を配置します。右側のプロパティ欄で「項目」だけ"ddd"
と入力し、他は先ほどと同じ内容で設定します。

これで、配列に追加したい値をリストに追加することが出来ました。
リストから配列に変換する
最後にリストからまた配列に変換して戻します。
シーケンスの最後に代入
を配置します。
デフォルトではお気に入り
にあるのでそこから配置します。
もしお気に入り
に無い場合は、ワークフロー
-> 制御
-> 代入
から配置してください。
配置が完了したら、sring_array = string_list.ToArray
となるように入力します。

これで、リストから配列に変換することが出来ました。
それでは配列に追加されているか確認してみましょう。
シーケンスの最後に繰り返し (コレクションの各要素)
を配置します。
「コレクション」にstring_array
を入力し、右側のプロパティ欄で「TypeArgument」をString
型に変更します。繰り返し (コレクションの各要素)
の本体内に1行を書き込み
を配置します。
デフォルトではお気に入り
にあるのでそこから配置します。
もしお気に入り
に無い場合は、プログラミング
-> デバッグ
-> 1行を書き込み
から配置してください。
配置が完了したら、item
と入力します。
最終的にはシーケンスが以下のようなフロー図になります。

それでは、実行してみましょう。

先ほど追加した“ddd”が表示されました。
以上で、配列に値を追加する方法について説明を終了します。
まとめ
UiPathでは配列に値を追加することは基本的に出来ないため、上記のように一度リストに変換して値を追加してから配列に戻す必要があります。
どうしても配列として扱わなければいけなく、後から値を追加したいときは今回説明した方法を試してみてください。
「ここの説明がわかりにくい」や「こういった方法もありますよ」などがあればコメントしていただけるとありがたいです。その他のコメントもお待ちしております。
コメント