VBA从远程目录访问文件(错误76 - 找不到路径)

时间:2016-06-01 17:59:24

标签: windows vba excel-vba excel

我有一个我有读取权限的远程服务器(在Windows中我将其标记为我的X:驱动器)

我需要访问的文件的正确路径是:

  

“X://某个目录/某个文件”

保存正在运行的宏的文件存在于C:驱动器中。下面的代码检查路径是否存在

If dir("X://some folder/some file", vbDirectory) = "" Then
 Debug.Print "dir does not exist"
End If

运行上面的内容进入分支,告诉我该文件不存在。我的问题是:

  1. 我是否必须输入驱动器的名称? (例如X:或者我可以把//:改为?)

  2. 如果我甚至被允许进入驱动器,如何在Excel中调试?

2 个答案:

答案 0 :(得分:3)

首先,对Windows路径使用反斜杠。其次,在引用映射驱动器时不要使用双反斜杠。 (标记驱动器对VBA没有意义。)例如:

X:\some folder\some file

如果您没有真正创建映射驱动器,则需要使用UNC或IP(然后使用双反斜杠)。 EG:

\\remotehost\path\to\somefolder\somefile.txt

\\127.0.0.1\path\to\some folder\some file.txt

答案 1 :(得分:0)

我认为蒂姆是正确的。

  

如果我甚至允许进入驱动器,如何在Excel中进行调试?

如果您使用RECORD宏打开X驱动器中的文件。您将看到使原始代码正常工作所需的所有代码;)。每个VBA编码器都会做这种技巧。