VBSを使用して、日付の判定を行いたいと思っております
やりたいこと
以下のコードを使用して、
当日および11以上前のレコードを削除しようと思っております。
コード
VBScript
1sub date_del() 2 3Dim a, cc, ce, f, so, x 4Set so = CreateObject("Scripting.FileSystemObject") 5f = so.GetParentFolderName(WScript.ScriptFullName) 6 7'入力ファイル 8Set ce = so.OpenTextFile(f & "\csv_addlog_tmp4.csv", 1) 9 10'出力ファイル 11Set cc = so.OpenTextFile(f & "\csv_addlog_tmp5.csv", 2, True) 12x = ce.ReadLine 13cc.WriteLine x 14 15'入力ファイルのレコードがなくなるまで実施 16Do Until ce.AtEndOfStream 17 x = ce.ReadLine 18 19 '入力ファイルをカンマ区切りで保持 20 a = Split(x, ",") 21 22 '[日付]が当日と、11日前のとき、そのレコードを削除 23 If DateValue(a(0)) < Date and DateValue(a(0)) > DateAdd("d", -11, Date) Then 24' If (a(0)) < Date and (a(0)) > DateAdd("d", -11, Date) Then 25 cc.WriteLine x 26 End If 27 28Loop 29 30'バッファを Flush してファイルを閉じる 31ce.Close 32cc.Close 33Set ce = Nothing 34Set cc = Nothing 35Set so = Nothing 36 37end sub 38
実施結果と問題点
この時、このコード自体は問題ないのですが、
読み込むcsvの日付の箇所[a(0)の箇所]が「yyyy/mm/dd」の形式で持たれています
そのため、実行すると以下のエラーが出力されてしまいます
型が一致しません:'dateValue'
コード:800A000D
行、文字 ⇒ If DateValue(a(0)) < Date and DateValue(a(0)) > DateAdd("d", -11, Date) Then
の箇所
読み込みファイルの前提
※読み込むcsv(csv_addlog_tmp4.csv)については、前段の処理の関係上、csvの日付位置を上記の方法で作成しております
objADO.Execute _
"SELECT Format([日付],'yyyy/mm/dd') AS 日付1, offtime , エージェント , 操作種別 , 端末機No , 部署名 , ontime " & _
~~~
" ;"
質問点
そのため、ここで第1カラムの値を再度日付型として認識させたいのですが、
どのようにすればよいのでしょうか?
また、どのようなコードで記載すればよいのでしょうか?
読み込むcsv(csv_addlog_tmp4.csv)
日付1,G名,u_name,ON1,OFF1,acttime
"2019/05/10","A-GRP","AAA",1899/12/30 8:29:00,1899/12/30 8:30:00,"0:01:00"
"2019/05/10","A-GRP","BBB",1899/12/30 8:49:00,1899/12/30 8:51:00,"0:01:00"
"2019/05/10","A-GRP","CCC",1899/12/30 8:38:00,1899/12/30 11:26:00,"0:01:02"
"2019/05/09","A-GRP","AAA",1899/12/30 8:28:00,1899/12/30 17:04:00,"0:01:00"
"2019/05/09","A-GRP","BBB",1899/12/30 8:49:00,1899/12/30 17:58:00,"3:11:52"
"2019/05/09","A-GRP","CCC",1899/12/30 8:36:00,1899/12/30 19:21:00,"0:01:00"
"2019/05/08","A-GRP","AAA",1899/12/30 8:31:00,1899/12/30 17:04:00,"3:36:47"
"2019/05/08","A-GRP","BBB",1899/12/30 8:48:00,1899/12/30 18:40:00,"0:01:00"
"2019/05/08","A-GRP","CCC",1899/12/30 8:30:00,1899/12/30 22:34:00,"0:01:00"
"2019/05/05","A-GRP","BBB",1899/12/30 8:51:00,1899/12/30 19:10:00,"0:01:00"
"2019/05/05","A-GRP","CCC",1899/12/30 8:52:00,1899/12/30 23:28:00,"0:01:00"

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/10 06:54
2019/05/10 06:55
2019/05/10 07:23 編集
2019/05/10 07:35