重新定位 VBA 语法错误消息

问题描述 投票:0回答:1

当我调试 VBA 代码时,如果我从 VBA 中收到语法错误,它总是会在屏幕的左上角弹出,控制该位置的设置在哪里?

理想情况下,我希望它能够在 VBA 应用程序中间弹出。

vba
1个回答
0
投票

a)您应该学会理解语法错误和运行时错误之间的区别,因为它们是完全不同的东西。

语法错误是无效的代码语句。编译器根本无法理解该语句。

示例:

i =                      ' Incomplete
x = Format(3, "000"))    ' Too many closing ")"-characters
msg = "Hello world       ' Missing closing quote

语法错误可能会出现在不止一行上:

For i = 1 to 10
    If i = 3 Then
        MsgBox "Now I am at 3"
Next i

这里缺少

End If

所有这些错误都可以通过简单地使用“调试->编译 VBA 项目”来找到。

相反,运行时错误是在代码已经运行时发生的事情。您除以 0、访问不存在的工作表、想要使用无效文件名保存文件。防止或捕获运行时错误可能是一项艰巨的工作......

有关错误类型的更多信息,请参阅此视频:https://www.youtube.com/watch?v=gSHjyN6JPcY

b) 对我来说,VBA 错误集中在当前屏幕(监视器)上,我不记得在其他地方见过它们。如果是这种情况,也许删除注册表分支会有所帮助。设置存储在

Computer\HKEY_CURRENT_USER\Software\Microsoft\VBA

也许只需删除分支(但首先关闭所有 Office 程序)。也许先导出它是个好主意。

© www.soinside.com 2019 - 2024. All rights reserved.