我有以下功能搜索文件路径,修改文件日期。但是,如果我的文件末尾有一个通配符,则此函数返回12:00
。
这是因为带有通配符的文件在路径中有很多选项,并且不确定返回什么值。
如何告诉此函数获取max
通配符文件路径名。
例如:*Stack/Over/Flow_*.csv* (a1)
将返回12:00(a2)
,因为实际文件夹将包含*Stack/Over/Flow_1.csv*, *Stack/Over/Flow_2.csv*, *Stack/Over/Flow_3.csv.*
。我的解决方法是将文件卡路径更改为1,它将返回正确的值。但我想要这个通配符的max
。
是否有可能返回max
中每个修改日期更大的 Public Function getmodifieddateoffile(FilePath As String)
On Error GoTo ExitWithError
If FilePath = "" Then
Exit Function
End If
If Dir(FilePath) <> "" Then
'This creates an instance of the MS Scripting Runtime FileSystemObject class
Set oFS = CreateObject("Scripting.FileSystemObject")
getmodifieddateoffile = oFS.GetFile(FilePath).DateLastModified
Else
End If
Exit Function
ExitWithError:
End Function
?或者,您是否建议只将通配符(*)更改为1并按原样使用函数?
{{1}}
非常感谢任何帮助。
答案 0 :(得分:1)
答案 1 :(得分:0)
以下代码将返回在路径
中使用通配符时的最长时间Public Function GetFileDate(strFile As String) As Date
Dim lastDate As Date
Dim FileName As String
Dim FilePath As String
FileName = Split(strFile, "\")(UBound(Split(strFile, "\")))
FilePath = Replace(strFile, FileName, vbNullString)
FileName = Dir(FilePath & FileName)
Do While FileName <> vbNullString
If lastDate < FileDateTime(FilePath & FileName) Then
lastDate = FileDateTime(FilePath & FileName)
End If
FileName = Dir
Loop
GetFileDate = lastDate
End Function