嘗試運行與下面的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。我覺得我沒有正確引用模塊,但我不知道如何解決它。 –