【问题标题】:Don't let error occur when trying to open a file using vba尝试使用 vba 打开文件时不要让错误发生
【发布时间】:2014-09-18 04:31:35
【问题描述】:

我不确定是否有答案,尽管这看起来是一个非常简单的问题。

我正在使用 vba 代码在 Sharepoint 中打开文件,但是,由于我无法使用 Len(Dir()) 检查文件是否真的存在,我使用了我在论坛中找到的代码但是这个代码不像我想象的那样工作。

我需要的是在 Sharepoint 中查找多个文件的代码,并且每个文件都需要具有当前日期(例如:如果我们在 2014 年 7 月,则文件必须命名为 Name_July2014,而不是 Name_June2014 或 May_2014) .由于当前日期的文件可能不存在,因此将在我正在使用的工作簿的特定单元格中输入消息“未更新”,并且宏将继续运行。该代码运行良好,但每次都会停止显示文件不存在的消息。每次宏尝试打开不存在的文件时,都会出现此消息。我需要跳过这个警告并让代码运行。我认为这段代码会跳过警告(使用 On Error GoTo),这将是显示文件存在的方式,但它不起作用。有人可以看看吗?

我能以某种方式避免“互联网地址...无效”的消息吗?

真的很抱歉,如果我因为我的英语不够清楚而感到抱歉,如果这个问题已经在另一篇文章中得到了回答。

这就是代码的样子:

'Open the file and checks if the name of the file opened is different from the      
'previous file opened
On Error Resume Next
Application.Workbooks.Open (fileName)
newBook = ActiveWorkbook.Name
If originalBook = newBook Then
    [the file does not exist, do something]
Else
    [the file exists, do something else]
End If
On Error Goto 

【问题讨论】:

    标签: vba excel sharepoint file-io


    【解决方案1】:

    On Error Resume Next 这样做,所以如果 excel 遇到错误,它会忽略它并继续下一行代码。 On Error GoTo 0 重新打开正常的错误处理。 On Error GoTo 语法不正确,不会运行,也许这就是你的错误所在。更多解释请看这里:

    Why would you ever use "On Error Goto 0"?

    【讨论】:

    • 我遇到了两个问题,第一个是 Internet 文件地址无效的消息(我不想弹出该消息),第二个,如果我输入 On Error Go To xxxx 我得到了运行时错误 1004 Microsoft Excel 无法访问文件)
    • @trder 如果您不想弹出任何错误,请将On Error Resume Next 放在脚本顶部,并删除代码中的On Error GoTo 0。根据您发布的内容,我无法判断您收到这些错误的原因
    • 现在我明白了……对不起!但是我可以避免“互联网地址 xxxxx 无效”的消息吗????
    • @trder 您的脚本中肯定有其他错误处理代码导致出现消息,您是否有类似If Err <> 0 Then 或其他On Error GoTo 0 语句的语句?如果是这样,请删除它们并尝试再次运行它
    • @trder 搜索包含 MsgBox(something) 的行,并将它们注释掉。尝试将Application.DisplayAlerts = False 放在脚本顶部
    猜你喜欢
    • 2014-09-13
    • 1970-01-01
    • 2022-08-12
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    • 2018-10-07
    • 1970-01-01
    • 2019-04-30
    相关资源
    最近更新 更多