【发布时间】:2015-12-07 21:35:28
【问题描述】:
我的一个客户在运行下面的 Excel VBA 代码时遇到问题。他收到以下错误Method 'VBE' of object '_Application' failed,但只有一次,在他打开 VBE 后,它开始工作。而且,直到昨天它还在为他工作。
他正在使用 Excel 2010。
这是引发错误的代码。
For Each f In Application.VBE.ActiveVBProject.VBComponents
If InStr(1, f.Name, "UserForm") = 1 Then
Application.VBE.ActiveVBProject.VBComponents.Remove (f)
End If
Next f
【问题讨论】:
-
听起来像是权限设置。他有什么信任中心宏设置? Excel:文件 -> 选项,信任中心。信任中心 -> 宏设置。是否勾选了“信任对 VBA 项目对象模型的访问”?
-
您实际上尝试了哪些方法来确定问题?您需要展示您的研究成果。
-
当您循环访问该集合时,最好不要从集合中删除内容。将项目添加到数组或新集合中,然后在完成初始循环后将其删除。
-
使用不必要的括号也会导致问题 - 它应该是
.Remove f而不是.Remove (f) -
@PatricK 我检查了第一件事。它就在那里。