y_y
(y y)
1
お世話になります。何とか見よう見まねで勉強中の身であります。表題の件でご教示ください。
No,商品コード,発注日,付箋コメント,予約日
8,4987562418800,2020-12-26,2,
この様なデータがある場合にに「予約日の列」に「発注日」と「付箋コメント」のデータを加算して値を格納したいと考えています。
この場合、期待する値は2020-12-28です。つまり2020-12-26の2日後のデータを求めたいです。
「予約日」はデータ列の追加により作成したカラムです。
このカラムのプロパティ規定値に式を設定するのでしょうか?
エクセルを使用せずに実装したいと考えていますが、スキル等を考慮してアドバイスや何か考え方のヒント等ありましたら何卒ご教示ください。
HANACCHI
(はなっち!UiPath Japan MVP 2019-2022)
2
繰り返し(各行)で、データテーブル中の全行を対象とします。
代入アクティビティ
左辺:Row.Item(“予約日”)
右辺:DateTime.Parse(Row.Item(“発注日”).ToString).AddDays(CInt(Row.Item(“付箋コメント”).ToString)).ToString(“yyyy-MM-dd”)
説明しますと、DateTime.Parseで発注日をDateTime型に変換します(変換結果はコンピュータのメモリに作られます)。そのDateTime型に、付箋コメントをCINTにて数値に変換した値を、DateTime型のメソッドのAddDaysで日の加算をしてやります。その結果を、ToStringで、yyyy-MM-ddの文字列にしたものを、左辺に代入してあげます
y_y
(y y)
3
早々のご教示ありがとうございます。
現在出先ですので、帰宅後にお教えいただいたことを実践してみます。
重ね重ねありがとうございます。
y_y
(y y)
4
たびたびお世話になります。
メッセージ: Conversion from string “” to type ‘Integer’ is not valid.
が発生します。
先ほど提示したデータ例ですが「付箋コメント」には空白データが含まれるために発生するエラーと推察しますが合っていますでしょうか?
後だしの様で申し訳ありませんが、もう暫くお付き合いいただけませんでしょうか?
1 Like
HANACCHI
(はなっち!UiPath Japan MVP 2019-2022)
5
ですね。
それでしたら、
AddDays(CInt(Row.Item(“付箋コメント”).ToString))
ではなく、
AddDays(CInt(“0” & Row.Item(“付箋コメント”).ToString))
として、ゼロを前置してあげてはいかがでしょう?
y_y
(y y)
7
たびたび申し訳ありません。
自己学習によりRow.Item(“付箋コメント”)がnull や数値以外で判断するにはどうしたら良いか躓いています。
例えば数値チェックの場合はIsNumericを使用すると想定します。イメージ的には↓
if isnumeric(Row.Item(“付箋コメント”).ToString)) = true then
DateTime.Parse(Row.Item(“発注日”).ToString).AddDays(CInt(“0” & Row.Item(“付箋コメント”).ToString)).ToString(“yyyy-MM-dd”)
'↑教示頂いた式
End If
のようなイメージなのですが
End If" の処理中にコンパイル エラーが発生しました。
‘(’ が必要です。
とエラーが発生します。
そもそも「右辺」では無くどこか別の場所に書く必要があるのでしょうか?
HANACCHI
(はなっち!UiPath Japan MVP 2019-2022)
8
条件分岐アクティビティをお使いですか?
と、numericを判定しているのでしたら、"0"を連結しなくても大丈夫ですね
y_y
(y y)
9
条件分岐アクティビティで実装できました。
ありがとうございました。
1 Like
system
(system)
Closed
11
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.