在 Locals 或 Watch 窗口中查看对象导致 excel 崩溃

Chr*_*ris 5 excel vba class local-variables watch

在 Excel 中,当我运行一些代码并在其中放置一个断点时,我可以在本地窗口中查看事物的值。在本地窗口中,当我尝试为类展开对象时,我创建了 Excel 崩溃,并显示“Microsoft Office Excel 遇到问题需要关闭。对于给您带来的不便,我们深表歉意。如果我尝试查看,也会发生这种情况监视窗口中的对象。

有任何想法吗?或者有人以前有过这个吗?

谢谢,

克里斯

the*_*Man 5

检查,再次检查并重新检查您的类属性,尤其是您的 GET 代码。我遇到了同样的错误,在调试期间扩展自定义类对象导致 Excel 崩溃。当您在本地窗口中展开对象时,Excel 本质上会运行这些 GET 属性,因此它们必须编译并且不会导致任何运行时错误。

当然,我不能说这在没有看到他们的代码的情况下肯定导致了 OP 的错误,但对我来说,错误是一个非常简单的错误,其中 GET 属性包含类型不匹配:

Private pAccFullArr() As String

Public Property Get accFullArr() As Variant
    accFullArr = pAccFullArr
End Property
Run Code Online (Sandbox Code Playgroud)

本来应该

Private pAccFullArr() As String

Public Property Get accFullArr() As STRING()
    accFullArr = pAccFullArr
End Property
Run Code Online (Sandbox Code Playgroud)

  • 另一个证词,以防万一它对某人有用:我的一个类遇到了同样的问题,为了抓住它,我开始注释掉类的公共方法,直到找到有问题的方法。 (2认同)