Odstráňte všetky makrá v zošite/dokumente pomocou jazyka VBA v programe Microsoft Excel

Anonim

Ak pracujete s nespočetným počtom makier a chcete, aby makro vymazalo všetky existujúce kódy z aktuálneho zošita programu Excel, nasledujúci článok vám určite pomôže.

Ak chcete zo zošita alebo dokumentu odstrániť všetky makrá, môžete použiť nižšie uvedené makro.
Postup je možné použiť v programe Excel aj Word bez akýchkoľvek úprav.

Sub RemoveAllMacros (objDocument As Object) 'vymaže všetky komponenty VBProject z objDocument' odstráni kód z vstavaných komponentov, ktoré nemožno odstrániť 'použite takto: RemoveAllMacros ActiveWorkbook' v programe Excel 'alebo takto: RemoveAllMacros ActiveWorkbookDocument' vo Worde ' 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 „žiadne komponenty VBC alebo chránený MsgBox VBProject“ VBProject v „& objDocument.Name & _“ je chránený alebo neobsahuje žiadne súčasti! “, _ VbInformation,„ Odstrániť všetky makrá “Ukončiť Sub End If With objDocument.VBProject For i = .VBComponents.Count to 1 Step -1 On Error Resume Next .VBComponents.Remove .VBComponents (i) 'delete the component On Error GoTo 0 Next i End With With objDocument.VBProject For i = .VBComponents.Count to 1 Step -1 l = 1 Pri chybe Pokračovať Nasledujúce l = .VBComponents (i) .CodeModule.CountOfLines .VBComponents (i) .CodeModule.DeleteLines 1, l 'clear lines On Error GoTo 0 Next i End With End Sub