ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   How to delte macros in another workbook (https://www.excelbanter.com/excel-discussion-misc-queries/198350-how-delte-macros-another-workbook.html)

Vinod[_2_]

How to delte macros in another workbook
 
Hi,

Here I got following VBA code to delete macros from another opened workbook.

Public Sub DeleteAllVBA(wbk As Workbook)
On Error Resume Next
Dim wbkTemp As Workbook
Dim VBComps
Dim VBComp

Set wbkTemp = Workbooks(wbk.Name)
Set VBComps = wbkTemp.VBProject.VBComponents

For Each VBComp In VBComps
Debug.Print VBComp.Name
Select Case VBComp.Type
Case vbext_ct_StdModule, vbext_ct_MSForm, vbext_ct_ClassModule
VBComps.Remove VBComp
Case Else
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
End Select
Next VBComp

End Sub

Actually my requirement is, I'm having some macros (sheet, this workbook
evevents and standard modules) in Book1.xls including above code. When I
click a button on sheet1 it creates another .xls file

Button event starts here ...
It creates a copy of 'Book1.xls' with 'Book1_*.xls' - (*-last modified date
& time) using File system object. Once it is created I'm opening the newly
created file ('Book1_*.xls') and calling 'DeleteAllVBA' function to delete
all macros. But it is deleting only the code in sheets, thisworkbook and some
of the standard moudles i.e., not all modules.

later closing newly created file ('Book1_*.xls').
Button event ends upto here ...

Then opened 'Book1_*.xls', I found that some of the modules are not deleted,
while this work book is opend in this situation I executed 'DeleteAllVBA' by
passing file name at this time its removed all the modules. but its not done
in button event.

I executed the same code (button event code) in debug mode, its executing
'VBComps.Remove VBComp' but it is not deleting the modules


Can any one help me out, what is root cause in not deleting the modules.

Regards
Vinod



All times are GMT +1. The time now is 05:51 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com