Delete modules programmatically and save
You can't save in the same macro that did the deletion. The deletion
doesn't actually take place until the macro ends.
In the macro, use application.Ontime to run a sum that saves the workbook
application.Ontime now,"MacroToSaveWorkbook"
This allows the code to end and then the save is performed.
--
Regards,
Tom Ogilvy
Brijesh Shah wrote in message
...
HI,
I have hit a wall here. I delete some modules using VBComponents.Remove.
After that, even if I save the workbook using Save method, the changes are
not saved. Does anyone has a clue? After I run the macro below it still
asks
me if I want to save the changes when i close the workbook. Note the macro
to delete the modules is in the same workbook. So the macro is trying to
delete itself too.
Code
Dim obj As Object
Dim VBComps As Variant
Set VBComps = ThisWorkbook.VBProject.VBComponents
For Each obj In VBComps
If obj.Type = 1 Or obj.Type = 2 Then
VBComps.Remove obj
End If
Next
ThisWorkbook.Save
Thanks in advance,
Brij
|