UiPath Object型から変換する方法
UiPathには変数の型の定まらない値を格納するための
変数の型にObject型が存在します。
※赤字部分は変数名など可変の部分を指します。
手順
Object型変数の中に格納されているデータが
何であるかの判定を行い、
そのあとで変換を行う流れになります。
変数の型の判定
プロパティの仕様でObject型を使用しているだけで
変数の型が確定している場合は必要がありませんが、
どの変数の型が格納されるか分からない場合は
先にどの変数の型の値が入っているかを判定する必要があります。
TypeOf演算子と条件分岐
処理を分けることが可能です。
それには下のような論理式を設定します。
TypeOf Object型変数 Is 変数の型
String型であるかを条件分岐で判定するには下のように設定します。

Object型変数の内容がString型であれば
Thenになり、それ以外ではElseになります。
GetTypeメソッドとスイッチ
GetTypeメソッドを使用すればスイッチで
処理を分けることが可能です。
TypeArgumentプロパティにSystem.Typeに指定し、
式プロパティにGetTypeメソッドを指定します。
Object型変数.GetType()

次にCaseを追加して変数の型ごとの処理を作成します。
環境にも寄るかもしれませんが、
最初に(null)を指定してからプロパティメニューで
変数を選択する流れでないと
Caseの追加がうまくいきませんでした。


補足で、主に開発中の確認用ですが、
GetTypeメソッドはToStringメソッドで
1行を書き込みで表示することが可能です。
Object型変数.GetType().ToString

結果はこのようになります。
データ型 | 結果 |
---|---|
String | System.String |
Int32 | System.Int32 |
Datetime | System.Datetime |
Boolean | System.Boolean |
変数の型変換(キャスト)
Object型のままでは利用できないため
判定のあとに適切な型の変数に変換(キャスト)する必要があります。
それにはCTypeメソッドを使用します。
CType(Object型変数,データ型)
上記の構文をプロパティ内で使用してもよいですし、
代入アクティビティのFromに指定して
適切な型の変数に格納してもかまいません。
データ型 | 型変換する構文 |
---|---|
String | CType(Object型変数,System.String) |
Int32 | CType(Object型変数,System.Int32) |
Datetime | CType(Object型変数,System.Datetime) |
Boolean | CType(Object型変数,System.Boolean) |
--