Εάν εργάζεστε με αμέτρητες μακροεντολές και θέλετε μια μακροεντολή να διαγράψει όλους τους υπάρχοντες κωδικούς από το τρέχον βιβλίο εργασίας του 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