我在excel文件中编写了一个函数“TestFunction”,该函数有行
其中"Application.DisplayAlerts = False"
,问题是如果我手动运行此函数它不会引发任何错误,当我从中间层(C#)调用该函数执行它时,错误"Method 'Display Alerts' of object '_Application Failed' error"
抛出。
我不知道该在这里查看什么。
请有人回复。
提前致谢。
答案 0 :(得分:0)
我的猜测是,这与MS Internet Explorer(全文here)有某种关联。在您的问题中,您没有详细说明您调用宏的方式或方式,因此我无法确定。但是,我已经看过这样的实例,其中代码指的是MSIE Application
对象,而不是Excel对象。即使它不是MSIE,它仍然可以是另一个定义了自己Application
的对象,因此它与Excel的Application
对象冲突,因此以下内容仍应适用。< / p>
如果我没错,那么您需要将以下代码行添加到宏之前更改DisplayAlerts
属性的代码行:
On Error Resume Next
您还可以在更改DisplayAlerts
属性的代码行之后添加以下代码行:
On Error GoTo 0
所以基本上是这样的:
On Error Resume Next 'This line is required.
Application.DisplayAlerts = False
On Error GoTo 0 'This line is optional to revert the error handling to default behaviour.
通过将这些代码行添加到宏中,可以禁止显示错误消息并继续运行宏。请注意,在这种情况下,您无法更改DisplayAlerts
属性。