VBA中的宏错误与错误
什么时候在Access VBA代码中使用VBA中的宏错误与错误,vba,ms-access,Vba,Ms Access,什么时候在Access VBA代码中使用宏错误 我一直使用Err对象进行错误处理。我最近遇到一些VBA代码,它使用了MacroError对象。我阅读了这个对象上的MS文档,它有一个注释: 宏错误对象不包含有关运行Visual Basic for Applications(VBA)代码时发生的运行时错误的信息 这很奇怪,因为我刚才看到的MacroError的用法是在VBA过程中使用的,它是在调用DoCmd检查是否存在MacroError.Number 0之后使用的。我们不应该为此使用Err 参考:
宏错误
我一直使用Err
对象进行错误处理。我最近遇到一些VBA代码,它使用了MacroError
对象。我阅读了这个对象上的MS文档,它有一个注释:
宏错误对象不包含有关运行Visual Basic for Applications(VBA)代码时发生的运行时错误的信息
这很奇怪,因为我刚才看到的MacroError
的用法是在VBA过程中使用的,它是在调用DoCmd
检查是否存在MacroError.Number 0
之后使用的。我们不应该为此使用Err
参考:
Access宏能够流入VBA并再次返回
MacroError
对象允许您从VBA检查宏部件中的错误
如果您只使用VBA,您将永远不会需要它。对于VBA,只有使用常规的Err
对象进行错误处理
如果宏中有一个错误,然后VBA中有一个错误,那么每个对象中可能会出现两个不同的错误。文档似乎不一致:“当宏中发生错误时,有关错误的信息存储在宏错误对象中。。。宏错误对象不包含有关运行Visual Basic for Applications(VBA)代码时发生的运行时错误的信息。“再仔细看一看,似乎这些都是用于VBA代码的,因此试图将它们用作VBA代码中
Err
的替代方案是错误的。VBAMacroError
对象似乎适用于同时使用VBA和非VBA宏的用例。谢谢John。我不会那么做的。我已经用我的正常错误处理代码替换了该代码。你的评论可能就是答案。