[マクロの一覧を表示する]

ファイルに含まれているマクロ名の一覧を表示します。
もっと良い方法がありそうだけど・・・

【ソースコード】
[tips0172.vbs]
Option Explicit
On Error Resume Next

Dim objXlApp    ' Excel オブジェクト
Dim objXlBook   ' WorkBook オブジェクト
Dim objComp     ' コンポーネント情報
Dim lngLines    ' 全体の行数
Dim strLine     ' 行
Dim lngLoop     ' ループカウンタ

Set objXlApp = WScript.CreateObject("Excel.Application")
If Err.Number = 0 Then
    Set objXlBook = objXlApp.Workbooks.Open("C:\Temp\Test.xls")
    If Err.Number = 0 Then
        For Each objComp In objXlBook.VBProject.VBComponents
            If objComp.Type = 1 Then
                WScript.Echo "○" & objComp.Name

                lngLines = objComp.CodeModule.CountOfLines
                For lngLoop = 1 To lngLines
                    strLine = objComp.CodeModule.Lines(lngLoop, 1)
                    If Left(Trim(strLine), 4) = "Sub " Then
                        WScript.Echo " ・" & Mid(strLine, 5)
                    End If
                Next
            End If
        Next
    Else
        WScript.Echo "エラー:" & Err.Description
    End If
    objXlApp.Quit
Else
    WScript.Echo "エラー:" & Err.Description
End If

Set objXlBook = Nothing
Set objXlApp = Nothing

【実行結果】
C:\> cscript //NoLogo tips0172.vbs
○Module1
 ・Auto_Close()
 ・Macro1()
 ・Test(ByVal lngCnt As Long)
○Module2
 ・Macro2()