お世話になっております。
呼び方が正しいのか分かりませんが、今までレガシー版で使用していたものをWindows版に変更したら「セルを読み込み: TypeConverter cannot convert from System.Decimal.」とエラーが表示されるようになりました。
色々調べてみて、表示形式を保持にチェックを入れてみたりしたのですが、使用している変数の型がGenericValueで、そのやり方ではまた違うエラーが表示されてしまいます。
どうすればよいでしょうか?
こんにちは
最終的にどのような型でUiPath内で処理したいでしょうか?
一旦Object型の変数で受けてから、最終的に必要な方に変換してみてはと思います。
今行っている処理は、金額を読み込んで条件分岐で条件に合えば書き込む処理をしています。
最終的にはstringになればいいのかと思い、セルを読み込みで型をString型で保存してみたんですが、書き込む時に型が対応していないとエラーが表示されてしまいました。
どこにどのような処理を入れれば解決するのか分からない状況です。
Object型変数で受けて(仮にoとします)
money = o.ToString
とすれば良いかと思います。
ちなみにInt32を使用されていますが、Int32の上限が21億程度なので、これを超える恐れのあるケースはDecimal型等を使った方が良いかもしれません。(金額の大きくなる会計系の計算をする場合は、こちらの方が無用なトラブルは減ります)
上記のエラーもDecimalからの変換エラーなので
Decimalの変数を用意して、それで直接受けても良いかもしれません。
ありがとうございます。
Object型変数で受けるというのはセルを読み込みアクティビティの時点でもmoneyの変数の型をGenericValueではなくObjectにしておくという認識で合っていますか?
それとも一旦は今まで通りGenericValueにしておいて代入で変換でしょうか?
私の入れ方が悪いのだと思いますが、Object型だとセルに書き込みのところで、演算子に対して使えないとエラーになってしまいます。
変更容易性も考慮して、一旦は
o というObject型変数を作成し、セル読み込みアクティビティに設定
その直後に代入アクティビティで
money = o.ToString
以降は以前と同じ
のようにすれば良いかと思います。
ありがとうございます。
読み込みまではできたのですが、書き込みでエラーが発生してしまいました。
条件分岐: The input string ‘¥ 1,650,000 -’ was not in a correct format.
とエラーになったのですが、型の問題でしょうか?
元々はチェックが無かったのでは?こちらが原因ではないでしょうか?
ありがとうございます。解決しました。
大変お世話になりました。
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.
