Code to write out all lines of code

D

davidm

The following code (C.Pearson's with a tweak or two to suit my purposes
serves me well to list all procedures in a module.

Sub ListProcedures1nALLModulesInWBook()

Dim VBCodeMod As CodeModule
Dim vc As VBComponent
Dim StartLine As Long
Dim Msg As String
Dim ProcName As String
Cells.Clear

k = 1
For Each vc In ThisWorkbook.VBProject.VBComponents
If vc.Type = vbext_ct_StdModule Or vc.Type = vbext_ct_ClassModule O
vc.Type = vbext_ct_MSForm Or vc.Type = vbext_ct_Document Then
Set VBCodeMod
ThisWorkbook.VBProject.VBComponents(vc.Name).CodeModule
With VBCodeMod
StartLine = .CountOfDeclarationLines + 1
Do Until StartLine >= .CountOfLines
Msg = Msg & .ProcOfLine(StartLine, vbext_pk_Proc)
StartLine = StartLine + _
.ProcCountLines(.ProcOfLine(StartLine, _
vbext_pk_Proc), vbext_pk_Proc)
Cells(k, 1) = Msg
Cells(k, 2) = vc.Name
Cells(k, 3) = vc.Type
Cells(k + 1, 4) = .ProcCountLines(.ProcOfLine(StartLine
vbext_pk_Proc), vbext_pk_Proc) & " Lines"
k = k + 1
Msg = ""
Loop
End With
End If
Next
[a:j].Columns.AutoFit
End Sub

I want to take a step further and get a code to reproduce all th
lines of the procedures (in a project modules) on one worksheet. I hav
serached in vain for this facility, having failed to re-tool Mr
Pearson's code to *"list all lines*" and not just the titles.

A half-way house, is to export the modules as txt.files. But thi
approach is ungainly and ponderous as it sets up the arduous task o
having to combine the codes from fragmented text files.

I welcome anuy help.

Davi
 
D

davidm

Hi all,

I am forced to follow up my request for a possible look-in. It wa
apparently lost in heavy traffic when I first posted. Thanks i
advanc
 
D

davidm

Many thanks Dave. That was kind of you. Maryna's Code will meet my need
with neccessary adaption to suit Excel. I can't fail to be amazed at th
way and manner in which some nerds graft logic upon logic to solv
problems. Fascinating stuff! Again, many thanks
 

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