HOME>TOP>VBE

モジュール内のマクロ名(プロシージャ名)を取得するには?


キーワード>>VBProject・VBComponents・CodeModule・ProcOfLine・CountOfLines

Point :マクロ名を取得したい。
   
  
 'ThisWorkbookのModule1のマクロ名をセルに列挙します。

Sub Test()
Dim myProCount, myProcName
Dim buf()
Dim i

myProCount = 0

With ThisWorkbook.VBProject.VBComponents.Item("Module1").CodeModule

myProcName = ""

 For i = 1 To .CountOfLines
 '対象モジュールの行数

  If myProcName <> .ProcOfLine(i, 0) Then
  'プロシージャ名を比較

    myProcName = .ProcOfLine(i, 0)

    ReDim Preserve buf(myProCount)

    buf(myProCount) = myProcName
    '配列に格納

    myProCount = myProCount + 1
    '次の行へ
  End If
 Next i
End With

For i = 0 To UBound(buf)
  Cells(i + 1, 1) = buf(i)
 Next i
  'セルに書き出します。
End Sub

 


掲載サンプルコードの使用に関して、直接・間接
を問わず生じた一切の損害について如何なる責任も負いません。