ray88’s diary

お仕事で困ったとき用の自分用の覚書

UiPath マクロの実行で複数の戻り値を受け取る

■実行するマクロのコード

Function fncMakeArray() As String()
    '配列を宣言
    Dim arr(2) As String
    '配列の要素に値を格納
    arr(0) = "山田"
    arr(1) = "45歳"
    arr(2) = "東京都"
    '戻り値に配列を格納
    fncMakeArray = arr()    
End Function

■UiPathフロー
f:id:ray88:20200831213627p:plain
■出力結果
f:id:ray88:20200831213725p:plain
■各アクティビティの解説
 ②UiPathの「マクロの実行」の戻り値はObject型でしか受けられないため、Object型変数を設定
f:id:ray88:20200831213834p:plain
③②で受け取った戻り値をObject→String型の配列に変換する
 Assingアクティビティで左辺にString型配列の変数、右辺にObject→String型配列へ変換する式を記入
ここではCtype関数を使用しているが、DirectCast関数でも変換できる
(例1)

strTempArray = CType(objTemp,String())

(例2)

strTempArray = DirectCast(objTemp,String())

④戻り値の配列の各要素をメッセージボックスで表示
f:id:ray88:20200831214959p:plain