Slett alle makroer i en arbeidsbok/dokument ved hjelp av VBA i Microsoft Excel

Anonim

Hvis du jobber med utallige makroer og du vil at en makro skal slette alle eksisterende koder fra den nåværende Excel -arbeidsboken, vil følgende artikkel sikkert hjelpe.

Når du vil slette alle makroer fra en arbeidsbok eller et dokument, kan du bruke makroen nedenfor.
Prosedyren kan brukes i både Excel og Word uten noen redigering.

Sub RemoveAllMacros (objDocument As Object) 'sletter alle VBProject-komponenter fra objDocument' fjerner koden fra innebygde komponenter som ikke kan slettes 'bruk slik: RemoveAllMacros ActiveWorkbook' i Excel 'eller slik: RemoveAllMacros ActiveWorkbookDocument' i Word ' krever en referanse til '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 Da er ingen VBComponents eller beskyttede VBProject MsgBox "The VBProject in" & objDocument.Name & _ "beskyttet eller har ingen komponenter!", _ VbInformation, "Remove All Macros" Avslutt 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 Ved feil -CV Neste l = .VBComponents (i) .CodeModule.CountOfLines .VBComponents (i) .CodeModule.DeleteLines 1, l 'clear lines On Error GoTo 0 Next I End With End Sub