错误-52错误的文件名或数字

时间:2014-03-21 17:41:11

标签: excel-vba vba excel

我正在尝试检查给定路径上的文件是否存在。我这样做了......

Path1 = ws.[B3]
If Len(Dir(Path1)) = 0 Then
   msgbox "File does not exist"
   exit sub
end if

当路径包含未激活的驱动器号时,此代码失败并显示错误-52。例如,当我移动一些USB密钥时,我的机器将F驱动器重新标记为E驱动器。引用F的任何路径都会导致错误-52。

有人可以建议一种更健壮的方法来检查在这些情况下不会失败的文件吗?

1 个答案:

答案 0 :(得分:0)

试试这个,即使我的DVD驱动器也没有出现任何错误(请参阅我在OP问题下的评论):

Sub drives()

    Dim FS
    Set FS = CreateObject("scripting.filesystemobject")

    Dim i As Integer
    For i = 0 To 25
        'This will print "True" or "False" in immediate window (Ctrl-G)
        Debug.Print FS.FileExists(Chr(65 + i) & ":\Filename.txt")
    Next i

End Sub