Elimine todas las macros en un libro de trabajo / documento usando VBA en Microsoft Excel

Anonim

Si está trabajando con innumerables macros y desea una macro para borrar todos los códigos existentes del libro de trabajo de Excel actual, el siguiente artículo seguramente lo ayudará.

Cuando desee eliminar todas las macros de un libro de trabajo o documento, puede usar la macro a continuación.
El procedimiento se puede utilizar tanto en Excel como en Word sin necesidad de editarlo.

Sub RemoveAllMacros (objDocument As Object) 'elimina todos los componentes de VBProject de objDocument' elimina el código de los componentes integrados que no se pueden eliminar 'use así: RemoveAllMacros ActiveWorkbook' en Excel 'o así: RemoveAllMacros ActiveWorkbookDocument' en Word ' requiere una referencia a la biblioteca de extensibilidad de Microsoft Visual Basic para aplicaciones 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 Entonces 'no VBComponents o VBProject MsgBox protegido "¡El VBProject en" & objDocument.Name & _ "está protegido o no tiene componentes!", _ VbInformation, "Quitar todas las macros" Exit Sub End If With objDocument.VBProject For i = .VBComponents.Count To 1 Step -1 En caso de error Continuar Siguiente .VBComponents.Remove .VBComponents (i) 'eliminar el componente En caso de error Ir a 0 Siguiente i Termino con With objDocument.VBProject For i = .VBComponents.Count To 1 Step -1 l = 1 en caso de error reanudar Siguiente l = .VBComponents (i) .CodeModule.CountOfLines .VBComponents (i) .CodeModule.DeleteLines 1, l 'líneas claras en caso de error Ir a 0 Siguiente i Termino con End Sub