我对VBA没有多少经验,但我有时会在工作中使用它.最近,我遇到了一个不应该发生的问题,我的老板和我自己都不知道.
基本上,问题是该Application属性默认DisplayAlerts设置为True无法由于某种原因而无法更改.可能相关的是,当我遇到错误时,它总是显示End | Debug | Help警告,并且永远不会遇到应用的错误处理.
我在64位Windows 7计算机上运行64位Office 2010.但是,我不认为这是一个平台问题,因为我已经在多个不同平台,操作系统和软件排列上进行了测试,没有其他机器出现此错误; 就是我的.
我已经创建了一些示例代码,以防任何人以前遇到过此问题或有任何想法.我唯一能想到的是,我的机器上安装了一些导致这种情况的东西.但是在程序清除和重启之后,我并没有更接近破译它可能是什么.
Public Sub TestErrorHandler()
' Suppress alerts
Application.DisplayAlerts = False
Dim strArray(1) As String
strArray(0) = "Hello"
strArray(1) = "World"
' Set up error handler
On Error GoTo ErrHandler
For i = 0 To 3
MsgBox strArray(i)
Next
' Strip the error handler
On Error GoTo 0
' Unsuppress alerts
Application.DisplayAlerts = True
Exit Sub
ErrHandler:
MsgBox "Error: " & Err.Description
Resume Next
End Sub
Run Code Online (Sandbox Code Playgroud)
错误被抛出for-loop(应该如此)的第三个枚举.错误的类型是无关紧要的,相关的是我得到错误并且从不命中错误处理程序.
任何建议或帮助将不胜感激.
非常感谢!
sha*_*esh 26
ALT + F11从Excel中按下以访问VBA编辑器.
转到工具菜单 - >选项项 - >常规选项卡.
将错误捕获设置为"中断未处理的错误"
http://i.msdn.microsoft.com/Aa155729.vba200111pa_f_image004(en-us,office.10).jpg