尝试运行与下面的For Each vbCom In .VBComponents
循环的代码,看看你会得到什么:
Option Explicit
Sub CheckVBProjComp()
Dim vbCom As Object
Dim flag As Boolean
Dim VbComName As String
VbComName = "sample_module"
With ThisWorkbook.VBProject
For Each vbCom In .VBComponents
If vbCom.Name Like VbComName Then
.VBComponents.Remove .VBComponents(vbCom.Name)
flag = True
Exit For
End If
Next vbCom
End With
If flag Then
MsgBox "VB Component " & Chr(34) & VbComName & Chr(34) & " successfully removed", vbOKOnly
Else
MsgBox "Unable to find VB Component " & Chr(34) & VbComName & Chr(34), vbInformation
End If
End Sub
RTE 9的意思是“这个项目不存在” - 如果没有名为'sample_module'的'VBComponents'采集模块,那么没有什么可以删除的。 –
另外,如果脚本的其余部分执行完毕,您可能会在某处出现“On Error Resume Next”,这可能是一个糟糕的主意。 –
虽然有一个sample_module。有些用户会遇到错误,有些则不会。对于没有出现错误的用户,该模块将被删除。我在脚本中也没有任何On Error Resume Next。我觉得我没有正确引用模块,但我不知道如何解决它。 –