データテーブル内の列の値を使って、計算を行いたいのですが、方法が分かりません。Excelに計算させるのが安易なのだと思いますが、UiPathで計算する方法があればぜひ知りたいです。
元のExcelファイルには、部署、氏名、設計作業(分)、PG作業(分)…などの値が入っています。
範囲を読み込みして、データテーブルに格納したのですが、
部署ごとのファイルをRPAで作成する際に、分単位の列を、時間単位に変換して、ファイルに出力したいのですが、データテーブルの値がオブジェクト型と認識されていて、計算ができません。
何か良い方法はありますでしょうか?
HANACCHI
(はなっち!UiPath Japan MVP 2019-2022)
June 3, 2020, 7:54am
2
「範囲を読み込み」アクティビティでシートを読み込んだ領域は、Object属性の列を持つDataTable型になります。そのセルに相当する値を利用するには、一度.ToStringで文字列化すると便利です。
お問い合わせの分単位でしたら(例えば150分)でしたら、
Math.Floor(CInt(Rows.item(“分”).ToString) / 60)
などとして、小数部をカットし、時間を得ます。
同様に、数値化した結果から計算します(CInt(Rows.item(“分”).ToString) - 時間 * 60)
それを日付型にするのに、New DateTime(時間,分, 0)で変換しましょう。
はなっち様
ありがとうございます!
時間と分への分け方は、ご教示いただいたやり方で、算出することができました。
New DateTime(時間、分、0)の変換のやり方が分からず・・・
時間と分をString変数に代入して、Excelへ出力するのはできたのですが。
New DateTimeとする場合は、書式設定も必要でしょうか?
HANACCHI
(はなっち!UiPath Japan MVP 2019-2022)
June 4, 2020, 5:18am
4
例えば、EXCELにまた貼り付けるのであれば、時間.ToSTring & “:” & 分.ToString & ":00"でDataTable中の列に格納してあげて、それを範囲を書き込みアクティビティで書いてあげれば、EXCELが自動解釈して時刻的表現にしてくれるでしょう
HANACCHI
(はなっち!UiPath Japan MVP 2019-2022)
June 5, 2020, 12:09am
6
おぉ!よかったです!
人の手だったら分かる事を、ロボットに教えてあげないといけないってのは、結構まだるっこしいですね。
ワークシート関数でサササッと解決できそうなものは、StudioXって奴で解決できそうな気分になりつつあります。まだ経験値は低いのですが。。。
system
(system)
Closed
June 8, 2020, 12:09am
7
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.