データテーブルの日付型でのフィルタリングについて

こんにちは。
同じような質問をしている方で、下記のページを参考にさせていただいたのですが、非エンジニアでよくわからず、再度似たような質問になり失礼いたします。

明日の日付でデータをフィルタリングしたところ、
ぱっと見、文字列では、
「2020/4/24」となっているようなのですが、文字列であるのせいか、日付型でのフィルタリングはできません。

代入に入れるパターンと、直接フィルタウィザードに
「DateTime.Today.AddDays(1).ToString(“yyyy/M/d”)」を入れるパターン、
両方試しているのですが、日付型ではなく、文字列になってしまうのですが、
何か間違っているところを教えていただけないでしょうか。

本当にすみません。どうぞよろしくお願いいたします。

変数 Tomorrow の「変数の型」を、System.DateTime に変更して試していただけますでしょうか。

1 Like

cheez_RPAさん
ありがとうございます。本当にすみません。
System.DateTime
に変更したところ、下記のようなエラーが出てしまいます。

Error	ERROR	検証エラー	式 "DateTime.Now.AddDays(1).ToString("yyyy/M/d")" の処理中にコンパイル エラーが発生しました。
Option Strict On で 'String' から 'Date' への暗黙の型変換はできません。	Main_Slack版_0.2.xaml

Tomorrow を左側の枠に入れている代入アクティビティがあるかと思いますが、こちらの右側の枠の中の .toString("yyyy/M/d") を削除してみてください。

cheez_RPAさん
ありがとうございます。
そうすると、今度は変数が
[04/25/2020 00:00:00]
となり、フィルタリングされませんでした :sweat_drops:

なるほど。。。

前提の確認ですが、もともとのデータテーブルのもととなるファイルは「Excel」と「CSV」のどちらでしょうか?(あるいはどちらでもないですか?)

cheez_RPAさん
csvデータです。
ぱっとみはyyyy/M/dなのですが、、

Datetime.Nowには時刻データも含まれているので、条件にひっかかっていないかと。。
なので、tommorrow作成時に

tomorrow = DateTime.Now.AddDays(1)

tomorrow = new DateTime(tomorrow.Year,tomorrow.Month,tomorrow.Day)

として、時刻データを初期化した日付を作って比較すれば抽出されると思います。
※はずしているかも。

こんにちは

CSVからの入力前提でサンプルでコード書いてみましたが、最初のPOSTの内容で問題なく動作しそうな感じです。
サンプルとの相違点の洗い出しに加え、他の可能性としては、入力(CSV)が想定のものと異なる(例えばyyyy/M/dではなくyyyy-M-d等)、結果の確認方法がうまくいっていない等も含めて確認した方が良いかもしれません。

Sample20200427-1.zip (10.2 KB)

1 Like

kyd_hasさん
ありがとうございます。
はい。
いただいたものでやってみたのですが、「!」マークがでて実行ができなかったのですが、私の登録の仕方が悪かったかもしれません。

Yoichiさん
ありがとうございます。
私のシナリオと比べてみて、どこが違っていたか分からず、最初からいただいたお手本を見ながら作り直してみたところ、動作しました!
本当に助かりました。
ありがとうございます :bowing_man: :bowing_woman:

1 Like