Tristate変数の変数パネルでの定義方法

こんにちは。UiPath Studio EnterPrise版ユーザの初心者です。
Microsoft.VisualBasic.Strings.FormatNumber関数のパラメータにTristate変数(Tristate.True,Tristate.Falseなど3個の状態を定義できる)というのがあり、変数パネルに定義したいのですが、もしかしたら、String変数で初期値"Tristate.True"などと変数パネルに定義すればよいでしょうか?

こんにちは

Microsoft.VisualBasic.Strings.FormatNumber関数のパラメータにTristate変数(Tristate.True,Tristate.Falseなど3個の状態を定義できる)というのがあり、変数パネルに定義したい

以下参照ください

あるいは以下の様に直接指定することも可能です。

Microsoft.VisualBasic.Strings.FormatNumber(1000,2,Microsoft.VisualBasic.TriState.True,Microsoft.VisualBasic.TriState.True,Microsoft.VisualBasic.TriState.True)

いつもお世話になっております。
関連質問ですが教えてください。
Dictionary変数dic_Config(“項目1”)でこのTristate.Trueを参照した場合、

str_aaa = Microsoft.VisualBasic.Strings.FormatNumber(str_aaa,dic_Config(“項目1”),以下省略

と直接参照すれば、Microsoft.VisualBasic.Strings.FormatNumberのパラメータとして使えますか?

このDictionaryの型(TKey, TValue の型)は何になりますでしょうか?

New Dictionary(Of String,Object)でインスタンス生成しています。

そうであれば

dic_Config("TriState") = Microsoft.VisualBasic.TriState.True

としておけば、格納はできますが、取り出すときにその型へのCastが必要になります。
(上記の様に dic_Config(“TriState”) だけでは使えません)

具体的には

dic_Config(“TriState”) = Microsoft.VisualBasic.TriState.True

としておいて、

str_aaa = Microsoft.VisualBasic.Strings.FormatNumber(str_aaa,CType(dic_Config(“tristate”),tristate),以下省略

とやれば良いのでしょうか?

問題ないと思います。必要に応じて名前空間を付加してください。

設定.xlsxに
dic_Config(“TriState”) = Microsoft.VisualBasic.TriState.True
を設定したときだけ添付画像のエラーが出てtri_小数点(以下省略)にCTypeでCastできないようです。
dic_Config(“TriState”) = Microsoft.VisualBasic.TriState.False
の場合は、tri_小数点(以下省略)にCTypeでCastできているようです。
原因分かりますでしょうか?

エクセルの文字列としてある"Microsoft.VisualBasic.TriState.True"はあくまで文字列ですので
式でのMicrosoft.VisualBasic.TriState.Trueとは異なります。
そのためMicrosoft.VisualBasic.TriState にはCastできません。

目的は設定.xlsxに
Microsoft.VisualBasic.TriState.TrueやMicrosoft.VisualBasic.TriState.Falseの値を持たせることだったのですが、不可能でしょうか?

直接持たせることはできません。

それでは、設定.xlsxに値を間接的に持たせればよいですか?

例:設定.xlsxでは、Key=“tristate”、Value="1"と記入しておいて、
Else Ifアクティビティで、
条件文で dic_Config(“tristate”) = 1
Then Blockで代入文で
dic_Config(“tristate”) = Microsoft.VisualBasic.TriState.True
tri_XXXXXX = CType(dic_Config(“tristate”) ,tristate)

とやるのはだめですか?

間接的で良いなら、例えば上記で概ね問題ないと思います。(条件式でCastが必要になると思います)

条件式とはどの文を言っていますか?
dic_Config(“tristate”) = 1 ではないような気がしますが。。。Castと無関係だし。

左辺がObjectなのでこのままではエラーが出ると思います。

それでは
CInt(dic_Config(“tristate”)) = 1 でよろしいでしょうか?
それとも、
CType(dic_Config(“tristate”)),Int32) = 1
でないとだめですか?

どちらでも大丈夫かと思います。(実際に試した方が早いと思います)

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.