如果您正在使用无数的宏,并且希望宏擦除当前excel工作簿中的所有现有代码,那么下面的文章一定会对您有所帮助。

当您想从工作簿或文档中删除所有宏时,可以使用下面的宏。

该过程可以在Excel和Word中使用,而无需进行任何编辑。

Sub RemoveAllMacros(objDocument As Object)

' deletes all VBProject components from objDocument

' removes the code from built-in components that can't be deleted

' use like this: RemoveAllMacros ActiveWorkbook ' in Excel

' or like this: RemoveAllMacros ActiveWorkbookDocument ' in Word

' requires a reference to the

' Microsoft Visual Basic for Applications Extensibility library

Dim i As Long, l As Long

If objDocument Is Nothing Then Exit Sub

i = 0

On Error Resume Next

i = objDocument.VBProject.VBComponents.Count

On Error GoTo 0

If i < 1 Then ' no VBComponents or protected VBProject

MsgBox "The VBProject in " & objDocument.Name & _

" is protected or has no components!", _

vbInformation, "Remove All Macros"

Exit Sub

End If

With objDocument.VBProject

For i = .VBComponents.Count To 1 Step -1

On Error Resume Next

.VBComponents.Remove .VBComponents(i)

' delete the component

On Error GoTo 0

Next i

End With

With objDocument.VBProject

For i = .VBComponents.Count To 1 Step -1

l = 1

On Error Resume Next

l = .VBComponents(i).CodeModule.CountOfLines

.VBComponents(i).CodeModule.DeleteLines 1, l

' clear lines

On Error GoTo 0

Next i

End With

End Sub