As macros foram abandonadas a muito pela Microsoft, apesar de vermos exemplos delas nas novas versões do MS Access, tanto na versão 2007, quanto na 2010. Mesmo assim prefiro crer que permancem ativas apenas para motivo de compatibilidade com as versões anteriores. Mas não sou ingênuo nesse respeito.
Se você estiver atualizando a versão de um aplicativo, pode atualizá-lo retirando as macros com essa SUB.
Como posso deletar uma MACRO da minha aplicação ?
Sub RemoveAllMacros (objDocument As Object)
' deletes all VBProject components from objDocument
' removes the code from built-in components that can't be deleted
' use like this: RemoveAllMacros ActiveWorkbook ' in Excel
' or like this: RemoveAllMacros ActiveWorkbookDocument ' in Word
' requires a reference to the
' Microsoft Visual Basic for Applications Extensibility library
Dim i As Long, l As Long
If objDocument Is Nothing Then Exit Sub
Let i = 0
On Error Resume Next
Let i = objDocument.VBProject.VBComponents.Count
On Error GoTo 0
If i < 1 Then ' no VBComponents or protected VBProject
MsgBox "The VBProject in " & objDocument.Name & _
" is protected or has no components!", _
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)
On Error GoTo 0
Next i
End With
With objDocument.VBProject
For i = .VBComponents.Count To 1 Step -1
Let l = 1
On Error Resume Next
Let l = .VBComponents(i).CodeModule.CountOfLines
.VBComponents(i).CodeModule.DeleteLines 1, l
On Error GoTo 0
Next i
End With
End Sub
Tags: Bernardes, MS, Microsoft, Office, Excel, delete, erase, macro
André Luiz Bernardes
A&A® - Work smart, not hard.
Nenhum comentário:
Postar um comentário