VBSを使用して、日付の判定を行いたいと思っております
やりたいこと
以下のコードを使用して、
当日および11以上前のレコードを削除しようと思っております。
コード
VBScript
sub date_del() Dim a, cc, ce, f, so, x Set so = CreateObject("Scripting.FileSystemObject") f = so.GetParentFolderName(WScript.ScriptFullName) '入力ファイル Set ce = so.OpenTextFile(f & "\csv_addlog_tmp4.csv", 1) '出力ファイル Set cc = so.OpenTextFile(f & "\csv_addlog_tmp5.csv", 2, True) x = ce.ReadLine cc.WriteLine x '入力ファイルのレコードがなくなるまで実施 Do Until ce.AtEndOfStream x = ce.ReadLine '入力ファイルをカンマ区切りで保持 a = Split(x, ",") '[日付]が当日と、11日前のとき、そのレコードを削除 If DateValue(a(0)) < Date and DateValue(a(0)) > DateAdd("d", -11, Date) Then ' If (a(0)) < Date and (a(0)) > DateAdd("d", -11, Date) Then cc.WriteLine x End If Loop 'バッファを Flush してファイルを閉じる ce.Close cc.Close Set ce = Nothing Set cc = Nothing Set so = Nothing end sub
実施結果と問題点
この時、このコード自体は問題ないのですが、
読み込む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"
まだ回答がついていません
会員登録して回答してみよう