Vba Dir(fpath)会导致无法访问的网络位置出错,即使在捕获错误时也是如此

Vba Dir(fpath)会导致无法访问的网络位置出错,即使在捕获错误时也是如此,vba,excel,Vba,Excel,这可能是一个不寻常的问题——我当然找不到任何关于它的东西。 基本上,我使用Dir()检查位置是否存在。如果用户在特定的工作网络上,则可以,但是如果用户不在,则身份验证将失败(应该如此),并且用户没有访问权限Dir()导致工作表出错,即使在使用错误补漏白时也是如此 有人犯过这个错误并且知道如何避免吗?我刚刚再试了一次,出于某种原因,它现在可以工作了。要么我以前是个白痴,要么区别在于使用E.2016。更有可能是前者。下面是工作代码的片段 Dim bErrorState As Boolean

这可能是一个不寻常的问题——我当然找不到任何关于它的东西。 基本上,我使用
Dir()
检查位置是否存在。如果用户在特定的工作网络上,则可以,但是如果用户不在,则身份验证将失败(应该如此),并且用户没有访问权限
Dir()
导致工作表出错,即使在使用错误补漏白时也是如此


有人犯过这个错误并且知道如何避免吗?

我刚刚再试了一次,出于某种原因,它现在可以工作了。要么我以前是个白痴,要么区别在于使用E.2016。更有可能是前者。下面是工作代码的片段

    Dim bErrorState As Boolean

    fPath = fRoot & Environ("USERNAME") & "\OMC_Template_PersonalSettings.txt"

    Err.Clear
    On Error GoTo SetErrorState
    bErrorState = Dir(fPath) = ""
SetErrorState:
    If Err <> 0 Then bErrorState = True
    On Error GoTo 0

    If bErrorState Then
        fPath = "C:\Users\" & Environ("USERNAME") & "\OMC_Template_PersonalSettings.txt"
        If Dir(fPath) = "" Then Exit Sub
    End If
Dim bErrorState为布尔值
fPath=fRoot&Environ(“用户名”)和“\OMC\u Template\u PersonalSettings.txt”
呃,明白了
关于错误转到SetErrorState
bErrorState=Dir(fPath)=“”
SetErrorState:
如果错误为0,则bErrorState=True
错误转到0
如果是这样的话
fPath=“C:\Users\”环境(“用户名”)和“\OMC\u Template\u PersonalSettings.txt”
如果Dir(fPath)=“”,则退出Sub
如果结束

对不起,浪费了人们的时间。希望这只是一个如何捕捉错误的示例。

对不起,错误是52。Filepath类似于\\companyname.net\profiles$\username\filename.txtry,使用fso:Dim objFSO作为对象Dim folderExists作为布尔Dim folderPath作为字符串集objFSO=CreateObject(“Scripting.FileSystemObject”)folderExists=objFSO.folderExists(folderPath)