Windows VBA从远程目录访问文件(错误76-未找到路径)
我有一个我有读取权限的远程服务器(在Windows中,我将其标记为我的X:驱动器) 我需要访问的文件的正确路径是: “X://some dir/some file” 保存正在运行的宏的文件存在于C:驱动器中。下面的代码检查路径是否存在Windows VBA从远程目录访问文件(错误76-未找到路径),windows,vba,excel,Windows,Vba,Excel,我有一个我有读取权限的远程服务器(在Windows中,我将其标记为我的X:驱动器) 我需要访问的文件的正确路径是: “X://some dir/some file” 保存正在运行的宏的文件存在于C:驱动器中。下面的代码检查路径是否存在 If dir("X://some folder/some file", vbDirectory) = "" Then Debug.Print "dir does not exist" End If 运行上面的命令进入分支,告诉我文件不存在。我的问题是: 我必须
If dir("X://some folder/some file", vbDirectory) = "" Then
Debug.Print "dir does not exist"
End If
运行上面的命令进入分支,告诉我文件不存在。我的问题是:
首先,对Windows路径使用反斜杠。其次,在引用映射驱动器时,不要使用双反斜杠。(为驱动器添加标签对VBA来说毫无意义。)例如: 如果没有实际创建映射驱动器,则需要使用UNC或IP(然后使用双反斜杠)。例如: 或
首先,对Windows路径使用反斜杠。其次,在引用映射驱动器时,不要使用双反斜杠。(为驱动器添加标签对VBA来说毫无意义。)例如: 如果没有实际创建映射驱动器,则需要使用UNC或IP(然后使用双反斜杠)。例如: 或
我认为蒂姆是对的 如果允许我进入驱动器,我如何在Excel中调试
如果在X驱动器中录制宏打开文件。您将看到使原始代码正常工作所需的所有代码;)。每个VBA编码器都会做这种事情 我认为蒂姆是对的 如果允许我进入驱动器,我如何在Excel中调试
如果在X驱动器中录制宏打开文件。您将看到使原始代码正常工作所需的所有代码;)。每个VBA编码器都会做这种事情 在我的计算机上,驱动器是X:(\\ServerName\Folder\File),所以我只需放置X:\some Folder?如果映射驱动器,两者都可以工作。例如
X:\folder\file
或\\servername\folder\file
诀窍在于,您可以将驱动器号映射到远程PC上的文件夹,因此远程服务器上的路径可能是C:\folder\mapped folder\subfolder\file
,但映射的网络驱动器(假设您使用了驱动器号M)本地计算机上的文件将是M:\subfolder\file
。假设您对远程服务器有权限,\\server\c\folder\mapped folder\subfolder\file
会将您带到同一个位置。在我的计算机上,驱动器是X:(\\ServerName\folder\file),所以我只需放置X:\some folder?如果您映射了驱动器,两者都可以工作。例如X:\folder\file
或\\servername\folder\file
诀窍在于,您可以将驱动器号映射到远程PC上的文件夹,因此远程服务器上的路径可能是C:\folder\mapped folder\subfolder\file
,但映射的网络驱动器(假设您使用了驱动器号M)本地计算机上的文件将是M:\subfolder\file
。假设您对远程服务器有权限,\\server\c\folder\mapped folder\subfolder\file
会将您带到相同的位置。
X:\some folder\some file
\\remotehost\path\to\somefolder\somefile.txt
\\127.0.0.1\path\to\some folder\some file.txt