ファイル名が日付のファイルの存在を確認する方法
OK Waveにお世話になっております。
VB6でソフト製作している初心者ですが、ファイル名が日付の場合に、
そのファイルの存在を確認する方法がわかりません。
対象物に設定完了後にログ作成で、ファイル名を日付でTxtファイルを作成して2行書き込むのですが、再度違う対象物に設定完了時は同じファイル名が存在するなら(同じ日付なら)1行だけ書き込みたいのです。
(1日に10回くらい設定する予定ですので、全て一つのファイルにログを残したい。。。)
<やりたいこと>
1.設定完了
↓
2.ログ作成作業開始
↓
3."C:\Log\"がなければフォルダを作成する
↓
4.同じファイル名がなければ2行書き込んで保存
↓
5.同じファイル名があれば1行だけ書き込んで保存
↓
6.以後繰り返し。
4~5がどうしても出来ません。
ファイル名が日付で流動的なので、存在の確認の方法がわかりません。
下記に現在の4~5のコードを書きます。
毎回毎回2行書き込んでしまいます・・・。
-----------------------------------------------------------------------------------
Dim fileNo As Integer
Dim FileName As String
Dim IDNumber As String
If Dir("C:\Log\", vbDirectory) = "" Then 'C:\Logフォルダがあるか確認
MkDir ("C:\Log\") 'なければフォルダ作成する
End If
'ファイル番号の取得
fileNo = FreeFile
'ファイルを追加モードで開く (ファイル名の生成)
Open "C:\Log\" + Format(Date, "yyyy年mm月dd日") + ".txt" For Append As #fileNo
'txtファイルへ書き込む
Print #fileNo, "設定日時,対象番号,設定値"
Print #fileNo, Format(Now, "hh:mm:ss") + "," + Format(IDNumber) + "," + Format(check, "000000")
Close #fileNo 'ファイルを閉じる
-----------------------------------------------------------------------------------
ちなみに下記のようにやってみましたがDate.txtの存在を認識してくれません。。。
If Dir(Date.txt) = "" Then
Print #fileNo, "設定日時,対象番号,設定値"
Print #fileNo, Format(Now, "hh:mm:ss") + "," + Format(IDNumber) + "," + Format(check, "000000")
Close #fileNo
Else
Print #fileNo, Format(Now, "hh:mm:ss") + "," + Format(IDNumber) + "," + Format(check, "000000")
Close #fileNo
End If
あとここだけなんです。
6/13(月)納期なので、どなたかわかる方、助けてください!
よろしくお願いいたします!
補足
仰るとおり、演算子が関係していました。 orとorを()でくくったら、日付指定のフィルタがかかりました。 以下、バッチを抜粋。 wmic NTEVENT where "((EventType='5' or EventType='2' or EventType='1') and TimeGenerated >= '2011/12/01')" get EventType, LogFile, EventCode, TimeWritten, Message /FORMAT:CSV >> %Kyo01%_log.txt