Pokud pracujete s nesčetnými makry a chcete, aby makro vymazalo všechny stávající kódy z aktuálního excelového sešitu, pak následující článek určitě pomůže.
Pokud chcete ze sešitu nebo dokumentu odstranit všechna makra, můžete použít níže uvedené makro.
Postup lze použít v Excelu i Wordu bez jakýchkoli úprav.
Sub RemoveAllMacros (objDocument As Object) 'odstraní všechny komponenty VBProject z objDocument' odebere kód z integrovaných komponent, které nelze odstranit 'použijte takto: RemoveAllMacros ActiveWorkbook' v Excelu 'nebo takto: RemoveAllMacros ActiveWorkbookDocument' ve Wordu ' vyžaduje odkaz na '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 Potom „žádné VBComponenty nebo chráněný VBProject MsgBox“ VBProject v „& objDocument.Name & _“ je chráněn nebo neobsahuje žádné komponenty! “, _ VbInformation,„ Odebrat všechna makra “Ukončit Sub End If With objDocument.VBProject For i = .VBComponents.Count To 1 Krok -1 Při chybě Pokračovat dále. l = 1 Při chybě pokračovat Další l = .VBComponents (i) .CodeModule.CountOfLines .VBComponents (i) .CodeModule.DeleteLines 1, l 'clear lines On Error GoTo 0 Next i End With End Sub