尝试使用vba打开文件时,不要发生错误

时间:2014-09-17 17:56:55

标签: excel vba excel-vba sharepoint file-io

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

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

我需要的是在Sharepoint中查找多个文件的代码,每个文件都需要有当前日期(例如:如果我们在2014年7月,该文件必须命名为Name_July2014,而不是Name_June2014或May_2014) 。由于具有当前日期的文件可能不存在,因此将输入消息" Not Updated"在我正在使用的工作簿中的特定单元格中,宏将继续运行。代码运行良好,但每次都会停止显示该文件不存在的消息。每次宏尝试打开不存在的文件时,都会显示此消息。我需要跳过此警告并让代码运行。我认为这段代码会跳过警告(使用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 

1 个答案:

答案 0 :(得分:2)

On Error Resume Next如果excel遇到错误就会这样做,它会忽略它并转到下一行代码。 On Error GoTo 0重新开启正常的错误处理。 On Error GoTo语法不正确,无法运行,也许这就是您的错误所在。请参阅此处以获得进一步说明:

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