苦苦于在指定的文件夹中打开最近的.xls。找不到文件错误

时间:2013-09-09 23:21:45

标签: excel-vba directory runtime-error vba

这是我的第一篇文章,所以如果我没有提供足够的信息,我会道歉。我会尽我所能。

我正在尝试浏览特定文件夹并打开最近的标题 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

1 个答案:

答案 0 :(得分:1)

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

strFilename = objFile.Path