UiPath Object型から変換する方法

2021年12月2日

UiPathには変数の型の定まらない値を格納するための

変数の型にObject型が存在します。

※赤字部分は変数名など可変の部分を指します。

手順

Object型変数の中に格納されているデータが

何であるかの判定を行い、

そのあとで変換を行う流れになります。

変数の型の判定

プロパティの仕様でObject型を使用しているだけで

変数の型が確定している場合は必要がありませんが、

どの変数の型が格納されるか分からない場合は

先にどの変数の型の値が入っているかを判定する必要があります。

TypeOf演算子と条件分岐

TypeOf演算子を使用して条件分岐

処理を分けることが可能です。

それには下のような論理式を設定します。

TypeOf Object型変数 Is 変数の型

String型であるかを条件分岐で判定するには下のように設定します。

String型であるかを条件分岐で判定するシーケンス

Object型変数の内容がString型であれば

Thenになり、それ以外ではElseになります。

GetTypeメソッドとスイッチ

GetTypeメソッドを使用すればスイッチ

処理を分けることが可能です。

TypeArgumentプロパティにSystem.Typeに指定し、

式プロパティにGetTypeメソッドを指定します。

Object型変数.GetType()
スイッチの設定例

次にCaseを追加して変数の型ごとの処理を作成します。

環境にも寄るかもしれませんが、

最初に(null)を指定してからプロパティメニューで

変数を選択する流れでないと

Caseの追加がうまくいきませんでした。

(null)を指定
Caseの条件となる変数の型を選択

補足で、主に開発中の確認用ですが、

GetTypeメソッドはToStringメソッドで

1行を書き込みで表示することが可能です。

Object型変数.GetType().ToString
GetTypeメソッドをToStringメソッドで表示

結果はこのようになります。

データ型結果
StringSystem.String
Int32System.Int32
DatetimeSystem.Datetime
BooleanSystem.Boolean

変数の型変換(キャスト)

Object型のままでは利用できないため

判定のあとに適切な型の変数に変換(キャスト)する必要があります。

それにはCTypeメソッドを使用します。

CType(Object型変数,データ型)

上記の構文をプロパティ内で使用してもよいですし、

代入アクティビティのFromに指定して

適切な型の変数に格納してもかまいません。

データ型型変換する構文
StringCType(Object型変数,System.String)
Int32CType(Object型変数,System.Int32)
DatetimeCType(Object型変数,System.Datetime)
BooleanCType(Object型変数,System.Boolean)

--

関連記事

UiPath 変数のデータ型変換の方法