Изтрийте всички макроси в работна книга/документ, използвайки VBA в Microsoft Excel

Anonim

Ако работите с безброй макроси и искате макрос да изтрие всички съществуващи кодове от текущата работна книга на Excel, следната статия със сигурност ще ви помогне.

Когато искате да изтриете всички макроси от работна книга или документ, можете да използвате макроса по -долу.
Процедурата може да се използва както в Excel, така и в Word без никакво редактиране.

Sub RemoveAllMacros (objDocument As Object) "изтрива всички компоненти на VBProject от objDocument" премахва кода от вградените компоненти, които не могат да бъдат изтрити "използвайте така: RemoveAllMacros ActiveWorkbook" в Excel "или по този начин: RemoveAllMacros ActiveWorkbookDocument" в Word " изисква препратка към „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 Тогава 'няма VBCcomponents или защитен VBProject MsgBox "VBProject в" & objDocument.Name & _ "е защитен или няма компоненти!", _ VbInformation, "Премахване на всички макроси" Излезте от Sub End, ако с objDocument.VBProject За 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 l = 1 При възобновяване на грешка Следващ l = .VBComponents (i) .CodeModule.CountOfLines .VBComponents (i) .CodeModule.DeleteLines 1, l 'изчистване на линии при грешка GoTo 0 Next i End With End Sub