Ta bort alla makron i en arbetsbok/dokument med VBA i Microsoft Excel

Anonim

Om du arbetar med otaliga makron och du vill att ett makro ska radera alla befintliga koder från den aktuella Excel -arbetsboken, kommer följande artikel säkert att hjälpa.

När du vill ta bort alla makron från en arbetsbok eller ett dokument kan du använda makrot nedan.
Proceduren kan användas i både Excel och Word utan någon redigering.

Sub RemoveAllMacros (objDocument As Object) 'raderar alla VBProject-komponenter från objDocument' tar bort koden från inbyggda komponenter som inte kan raderas 'använd så här: RemoveAllMacros ActiveWorkbook' i Excel 'eller så här: RemoveAllMacros ActiveWorkbookDocument' i Word ' kräver en referens till '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 Då är inga VBComponents eller skyddade VBProject MsgBox "The VBProject in" & objDocument.Name & _ "skyddad eller har inga komponenter!", _ VbInformation, "Ta bort alla makron" Avsluta Sub End If Med objDocument.VBProject For i = .VBComponents.Count till 1 steg -1 på fel Återuppta nästa .VBComponents.Remove .VBComponents (i) 'radera komponenten On Error GoTo 0 Next i End with With objDocument.VBProject For i = .VBComponents.Count To 1 Step -1 l = 1 Vid felåterupptagning Nästa l = .VBComponents (i) .CodeModule.CountOfLines .VBComponents (i) .CodeModule.DeleteLines 1, l 'clear lines On Error GoTo 0 Next i End With End Sub