特定の日付を基準に設定

お世話になっております。
UiPathStudioの使用について、質問です。

月次報告書の自動化Robot作成中です。
前回作成ファイルをコピーして、作成していきます。
そのため、前月1日を基準の日にちとして、設定したいです。

Main
Process
GetTargetDate
Read Confing
MakeNewFile
GetData_fromAAA (AAAはサイト名)
InputData_fromAAA

…みたいな感じで、
「GetTargetDate.XAML」として作成し、Processの1つとして使用。
引数で、ほかのXAMLファイル(MakeNewFileで「yyyy年M月_月次報告書」の日付変更等)にも
使用を考えています。
「GetTargetDate.XAML」ファイル内では、ちゃんと、指定の日付(前月の月初、1日)を取得しますが、引数として呼び出すと、うまくいきません。

「GetTargetDate.XAML」ファイル内
(1行書き込みアクティビティの「→」以降が、実際の出力内容です)
変数:argTargetDate DateTime
変数:monh_first_day String

代入
month_first_day = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(-1).ToString(“yyyy/MM/dd”)

1行書き込み
“前月月初:”& month_first_day
→「前月月初:2020/05/01」

代入
argTargetDate = DateTime.Parse(month_first_day)

1行書き込み
“ターゲット:” & argTargetDate.ToString(“yyyy/MM/dd”)
→「ターゲット:2020/05/01」 (この数値を引っ張ってきたいです)

ワークフロー呼び出し「GetTargetDate.XAML」ファイル
引数編集
名前 方向 型 値
argTargetDate 出力/入力 DateTime argTargetDate

変数:argTargetDate DateTime
引数で持ってくると、下記のようになります。

1行書き込み
“基準の日付確認:” & argTargetDate.ToString(“yyyy/MM/dd”)
→「基準の日付確認:0001/01/01」

となってしまいます。
方向が「出力/入力」ではないから、ということでしょうか?

ご教授いただければと思います。

@Akane さん

方向が「出力/入力」ではないから、ということでしょうか?

日付計算や文字列変換(現在日付を加工してtoStringするだけ)であれば方向は「出力」で良いと思います。
「GetTargetDate.XAML」の引数、argTargetDateは出力となっていますでしょうか?

1 Like

回答ありがとうございます。
「GetTargetDate.XAML」の引数:「argTargetDate」は出力になっております。

ただ、申し訳ありません。
投稿後、自己解決できてしまいました。
不要な変数「argTargetDate」(引数と同名)が含まれていたのが原因のようです。
「GetTargetDate.XAML」は下記2つだけで良いようです。

変数:month_first_day(String)
引数:argTargetDate (DateTime/出力)

ありがとうございました。

1 Like

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