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

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 运行上面的命令进入分支,告诉我文件不存在。我的问题是: 我必须

我有一个我有读取权限的远程服务器(在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
运行上面的命令进入分支,告诉我文件不存在。我的问题是:

  • 我必须把驱动器的名字写下来吗?(例如X:或者我可以改为放//:吗?)

  • 如果允许我进入驱动器,我如何在Excel中调试


  • 首先,对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