Διαγράψτε όλες τις μακροεντολές σε ένα βιβλίο εργασίας/έγγραφο χρησιμοποιώντας το 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" Dim i As Long, l Όσο Αν το objDocument δεν είναι τίποτα, τότε εξέλθετε Sub i = 0 On Error Resume Next i = objDocument.VBProject.VBComponents.Count On Error GoTo 0 If i <1 Τότε "κανένα VBComponents ή προστατευμένο VBProject MsgBox" Το VBProject in "& objDocument.Name & _" προστατεύεται ή δεν έχει στοιχεία! ", _ 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) 'delete the component On Error GoTo 0 Next i End With With objDocument.VBProject For i = .VBComponents.Count To 1 Step -1 l = 1 On Resume Resume Επόμενο l = .VBComponents (i) .CodeModule.CountOfLines .VBComponents (i) .CodeModule.DeleteLines 1, l 'Clear lines On Error GoTo 0 Next i End With End Sub