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
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