【问题标题】:Struggling to open most recent .xls in specified folder. File Not Found error努力在指定文件夹中打开最新的 .xls。找不到文件错误
【发布时间】:2013-09-09 23:21:44
【问题描述】:

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

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

【问题讨论】:

  • 在使用时遇到问题,但必须加载参考,请参阅 here

标签: excel directory runtime-error vba


【解决方案1】:

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

strFilename = objFile.Path

【讨论】:

    猜你喜欢
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 2018-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多