0

这是我的第一篇文章,如果我未能提供足够的信息,我深表歉意。我将尽我所能。

我正在尝试扫描特定文件夹并打开最近命名的Excel 文件。这些文件被命名为“9 1 13”和“9 2 13”等。我的 sub 正确地引导到正确的文件夹并识别最新的文件。但是,当我尝试打开它时,出现运行时错误 1004。

找不到文件'9 2 13.xlsx',检查拼写....

明明找到了正确的文件和路径,为什么VBA打不开呢?我当前的子如下。在任何人问之前,文件路径'\\Hsrkdfs\hsdata\rk\grp06....'是因为我从一个每个人的网络访问映射不同的网络中提取。有些人从 G: 驱动器访问此文件夹,其他人从 R: 访问此文件夹,并且此宏必须在所有计算机上都可以使用。错误发生'Workbooks.Open strFilename在线路上。

Sub GetMostRecentFile()

Dim FileSys As FileSystemObject
Dim objFile As File
Dim myFolder
Dim strFilename As String
Dim dteFile As Date

'set path for files - CHANGE FOR YOUR APPROPRIATE FOLDER
Const myDir As String = "\\Hsrkdfs\hsdata\rk\grp06\Rockford Repair Station   Quality\DELIVERY\Daily Status report - commercial"


'set up filesys objects
Set FileSys = New FileSystemObject
Set myFolder = FileSys.GetFolder(myDir)


'loop through each file and get date last modified. If largest date then store Filename
dteFile = DateSerial(1900, 1, 1)
For Each objFile In myFolder.Files
    If objFile.DateLastModified > dteFile Then
        dteFile = objFile.DateLastModified
        strFilename = objFile.Name
    End If
Next objFile
Workbooks.Open strFilename

Set FileSys = Nothing
Set myFolder = Nothing

End Sub
4

1 回答 1

1

尝试使用.Pathwhich 返回完整路径,而不是.Name,它只返回文件的名称和扩展名。

strFilename = objFile.Path
于 2013-09-09T23:53:21.283 回答