Löschen Sie alle Makros in einer Arbeitsmappe/einem Dokument mit VBA in Microsoft Excel

Anonim

Wenn Sie mit unzähligen Makros arbeiten und möchten, dass ein Makro alle vorhandenen Codes aus der aktuellen Excel-Arbeitsmappe löscht, dann hilft der folgende Artikel sicherlich weiter.

Wenn Sie alle Makros aus einer Arbeitsmappe oder einem Dokument löschen möchten, können Sie das folgende Makro verwenden.
Das Verfahren kann sowohl in Excel als auch in Word ohne Bearbeitung verwendet werden.

Sub RemoveAllMacros(objDocument As Object) ' löscht alle VBProject-Komponenten aus objDocument ' entfernt den Code von integrierten Komponenten, die nicht gelöscht werden können ' verwenden Sie wie folgt: RemoveAllMacros ActiveWorkbook ' in Excel ' oder so: RemoveAllMacros ActiveWorkbookDocument ' in Word ' erfordert einen Verweis auf die ' 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 "Das VBProject in " & objDocument.Name & _ " ist geschützt oder hat keine Komponenten!", _ 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) ' die Komponente löschen Bei Fehler GoTo 0 Next i End With With objDocument.VBProject For i = .VBComponents.Count To 1 Step -1 l = 1 Bei Fehlerfortsetzung Next l = .VBComponents(i).CodeModule.CountOfLines .VBComponents(i).CodeModule.DeleteLines 1, l ' Zeilen löschen Bei Fehler GoTo 0 Next i End With End Sub