Exclua todas as macros em uma pasta de trabalho / documento usando VBA no Microsoft Excel

Anonim

Se você está trabalhando com incontáveis ​​macros e deseja que uma macro apague todos os códigos existentes da pasta de trabalho atual do Excel, o artigo a seguir certamente ajudará.

Quando quiser excluir todas as macros de uma pasta de trabalho ou documento, você pode usar a macro a seguir.
O procedimento pode ser usado no Excel e no Word sem qualquer edição.

Sub RemoveAllMacros (objDocument As Object) 'exclui todos os componentes VBProject de objDocument' remove o código dos componentes internos que não podem ser excluídos 'use assim: RemoveAllMacros ActiveWorkbook' no Excel 'ou assim: RemoveAllMacros ActiveWorkbookDocument' no Word ' requer uma referência ao '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 "O VBProject em" & objDocument.Name & _ "está protegido ou não tem componentes!", _ VbInformation, "Remove All Macros" Exit Sub End If With objDocument.VBProject For i = .VBComponents.Count para 1 etapa -1 em caso de erro Continuar próximo .VBComponents.Remove .VBComponents (i) 'excluir o componente On Error GoTo 0 Next i End With With objDocument.VBProject For i = .VBComponents.Count para 1 etapa -1 l = 1 na retomada do erro Próximo l = .VBComponents (i) .CodeModule.CountOfLines .VBComponents (i) .CodeModule.DeleteLines 1, l 'limpar as linhas On Error GoTo 0 Next i End With End Sub