In c:\mydir\ have variuos .txt files.
Ecah file have a name similar:
...
AAAA-A0928_11-12-2012.TXT
CCCC-A0928_09-12-2012.TXT
AAAA-B0928_11-12-2012.TXT
BBBB-A0928_10-12-2012.TXT
....
I need to store in var_min the oldest date in file name and in var_max the newestw date.
in this case:
var_min = 09-12-2012
var_max = 11-12-2012
note:
the lenght and structure name for each file are the same
first and last date of file
-
- Administrator
- Posts: 78493
- Joined: 16 Jan 2010, 00:14
- Status: Microsoft MVP
- Location: Wageningen, The Netherlands
Re: first and last date of file
Try this code:
Code: Select all
Sub ListMinMax()
Const strFolder = "C:\MyDir\"
Dim strFile As String
Dim var_min As Date
Dim var_max As Date
Dim var_cur As Date
var_min = #1/1/9999#
var_max = #1/1/100#
strFile = Dir(strFolder & "*.txt")
Do While strFile <> ""
var_cur = DateValue(Mid(strFile, 12, 10))
If var_cur < var_min Then var_min = var_cur
If var_cur > var_max Then var_max = var_cur
strFile = Dir
Loop
MsgBox "Min: " & Format(var_min, "dd-mm-yyyy") & _
vbCrLf & "Max: " & Format(var_max, "dd-mm-yyyy")
End Sub
Best wishes,
Hans
Hans
-
- PlatinumLounger
- Posts: 4355
- Joined: 26 Apr 2010, 17:36
Re: first and last date of file
Nice solutionHansV wrote:Try this code:
Code: Select all
Sub ListMinMax() Const strFolder = "C:\MyDir\" Dim strFile As String Dim var_min As Date Dim var_max As Date Dim var_cur As Date var_min = #1/1/9999# var_max = #1/1/100# strFile = Dir(strFolder & "*.txt") Do While strFile <> "" var_cur = DateValue(Mid(strFile, 12, 10)) If var_cur < var_min Then var_min = var_cur If var_cur > var_max Then var_max = var_cur strFile = Dir Loop MsgBox "Min: " & Format(var_min, "dd-mm-yyyy") & _ vbCrLf & "Max: " & Format(var_max, "dd-mm-yyyy") End Sub