【问题标题】:Alternative to Dir() to check whether network file exist if user doesnt have write access如果用户没有写访问权限,则替代 Dir() 检查网络文件是否存在
【发布时间】:2021-01-05 17:34:23
【问题描述】:

我正在尝试禁止出现以下消息框,或者如果它确实出现,则让它转到错误消息行。 " 抱歉我们找不到 xxx 是否可以移动..."

通常我会检查 dir(Folderpath & Filename) 0。但是,这些文件位于共享点服务器上。因此,无论文件是否存在,我都会收到运行时 52 错误: “错误 52:错误的文件名或编号。”启动指向网络 SysData 目录的 FRx 安装时会出现此错误。"

如果文件存在,我感到困惑的是下面的 sn-p 工作。

Set stateWb = Workbooks.Open(folderPath & fileName)

但是,如果它不存在,我会收到“抱歉,我们找不到 xxx,如果它被移动了,是否有可能......”。目标是如果 workbooks.open 失败,请转到错误消息并打印以下 msgBox“状态数据不可用”。

目前它会给出消息“对不起,我们找不到 xxx,如果它被移动了……”并且还会产生 msgbox“状态数据不可用”。

想法?

【问题讨论】:

  • 您使用的代码是最高机密吗?请编辑您的问题并发布您使用的代码。你使用什么样的路径?首先,我建议您将dir(Folderpath & Filename) <> 0 替换为dir(Folderpath & Filename) <> ""Dir 返回一个字符串。并确保在FolderpathFilename 之间是一个反斜杠字符。

标签: excel vba


【解决方案1】:

您可以通过以下方式避免“抱歉,我们找不到 xxx,如果它被移动了……”错误:

On Error GoTo error_Check

...code...

Set stateWb = Workbooks.Open(folderPath & fileName)

...code...

error_Check:
MsgBox "State Data not available"

但是,在这种情况下,程序中的任何错误都会出现在此处,所以...

【讨论】:

  • 这就是我感到困惑的地方。我有这个,但它仍然打印消息框“对不起...”
猜你喜欢
  • 1970-01-01
  • 2019-02-16
  • 2011-05-12
  • 2016-04-23
  • 2011-03-10
  • 1970-01-01
  • 2010-10-04
  • 2012-04-06
  • 1970-01-01
相关资源
最近更新 更多