Explanation needed for CopyAllModules code

D

davidm

Thanks to David McRitchie, I was able to deploy the following Chip
Pearson's code to import code modules (complete with their denizen of
procedures) from one workbook to my Personal workbook project. It
worked like charm!

Still in the glow of my delight, I have spent some hours trying to
figure out the logic of "killing" the Filename (FName) both prior to
exporting and importing. Could someone kindly shed some light on this.
I am baffled. (Below is the code).




Sub CopyAllModules()

Dim FName As String
Dim VBComp As VBIDE.VBComponent

With Workbooks("Storer")
FName = .Path & "\code.txt"
If Dir(FName) <> "" Then
*Kill FName*
End If
For Each VBComp In .VBProject.VBComponents
If VBComp.Type <> vbext_ct_Document Then
VBComp.Export FName
Workbooks("Personal").VBProject.VBComponents.Import FName
* Kill FName*
End If
Next VBComp
End With

End Sub
 
D

Dave Peterson

In this case, I think the first "kill" was unnecessary. When I tested in xl2003
(under winXP), if the code.txt file existed, it was overwritten.

It looks like Chip just wanted to make sure that the file was gone--just in
case...

On the other hand, the second "kill" is nice. It cleans up after itself. But
since exporting will overwrite the existing file, the Kill could have been used
just once at the end of the routine (right before the "end sub" line).
 
D

davidm

Thanks, Dave for being so obliging. I am still not a bit confused
Regarding the first *KILL*, my query is: why kill the filename (or hav
it overwritten) and yet in the next move export same? May be I am no
fully appreciating what the "code txt.file" is. Further light, Dave
 
D

Dave Peterson

Chip is a belt and suspenders type person.

He wants to make sure that there is no file with that name. In my tests, it
didn't matter. The existing file was overwritten.

And if you step through your code against a test workbook, you can open that
code.txt file. You can see it contains the code of each of your modules.

Just like if you rightclicked on the module and hit "export file".
 
C

Chip Pearson

Chip is a belt and suspenders type person.

It comes from years of programming on fault tolerant Tandem
systems.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top