46 | モジュールの各行がどのプロシージャのものかを取得する | ||
CodeModuleオブジェクトとして読み込んだモジュールのコードについては、「ProcOfLine」プロパティを利用することで個々の行がどのプロシージャに属しているかを取得することができます。 このプロパティを参照するには、1つめの引数に「行番号」、一般的なSub/Functionプロシージャであれば2つめの引数には固定で「0」を指定することで、そのプロシージャ名を文字列として取得できます。
プログラム
Sub SampleCode_46() 'モジュールの各行がどのプロシージャのものかを取得する Dim vbcmp As Object Dim intRow As Integer Dim strProcName As String 'Module1のモジュールを開く Set vbcmp = VBE.ActiveVBProject.VBComponents("Module1") With vbcmp.CodeModule '1モジュール内のすべてのコードを取り出すループ For intRow = 1 To .CountOfLines '各行のプロシージャ名を取得 strProcName = .ProcOfLine(intRow, 0) 'イミディエイトウィンドウに出力 Debug.Print intRow & ": " & strProcName Next intRow End With End Sub 実行例
■実行前■実行後 |
|||
|
Copyright © T'sWare All rights reserved |