Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 仅使用部分已知的名称标识文件_Vba_Excel - Fatal编程技术网

Vba 仅使用部分已知的名称标识文件

Vba 仅使用部分已知的名称标识文件,vba,excel,Vba,Excel,我有一个保存文件的宏,命名模式是Myfile_ddmmyyy_hhmmss.rep(ddmmyyy_hhmmss代表当前日期和时间:) 我努力实现的是编写一个宏,用名称中的最新日期和时间标识文件。我得到的是: Sub App_FileSearch_Example() Const SOME_PATH As String = "t:\" Dim file As String Do file = Dir$(SOME_PATH & "MyFile_ddmmyyyy_hhmmss" &

我有一个保存文件的宏,命名模式是Myfile_ddmmyyy_hhmmss.rep(ddmmyyy_hhmmss代表当前日期和时间:)

我努力实现的是编写一个宏,用名称中的最新日期和时间标识文件。我得到的是:

Sub App_FileSearch_Example()

Const SOME_PATH As String = "t:\"

Dim file As String
Do
file = Dir$(SOME_PATH & "MyFile_ddmmyyyy_hhmmss" & ".rep")

    If (Len(file) > 0) Then
    MsgBox "found " & file
    End If
Loop Until file = Dir$()
End Sub
问题是它会无限地找到同一个文件…
提前感谢,

艺术。

尝试对代码进行此修改。它可以编译,但我没有使用.rep文件文件夹对其进行测试

Sub App_FileSearch_Example()
    Dim fn As String, tmp As String, theNewest As String, dtFn As Date
    Const SOME_PATH As String = "t:\"

    theNewest = "nothing found"
    fn = Dir$(SOME_PATH & "MyFile_*.rep")
    Do While CBool(Len(fn))
        tmp = Left(fn, InStr(1, fn, Chr(46)) - 1)       'truncate at the period
        tmp = Mid(tmp, InStr(1, tmp, Chr(95)) + 1, 99)  'split off at the first _
        tmp = Replace(tmp, Chr(95), Chr(32))            'replace the _ in the datetime
        If DateValue(tmp) > dtFn Then
            dtFn = DateValue(tmp)
            theNewest = fn
        End If
        fn = Dir$()
    Loop
    MsgBox "found " & theNewest
End Sub

查找具有最新保存日期和时间的文件是否有效?无需重新发明控制盘,即可提供一种使用文件系统日期时间的方法,您可以将其替换为ddmmyyy_hhmmss转换为日期时间/数据类型,并在扫描的每个文件上检查更新的文件。。。