こんにちは。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.