CodeModuleのProcCountLinesプロパティを用いると、プロシジャがモジュール内の何行を占めているか調べることができます。
① Visual Baisc プロジェクトへのアクセスを許可します。
② 「Microsoft Visual Basic for Application Extensibility」を参照設定します。
③ 次のプログラムコードを記載します。
Option Explicit
Public Sub Sample_ProcCountLines_01()
' ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
' 参照設定:
' 「Microsoft Visual Basic for Application Extensibility」
' ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
' このブックのVBProjectをオブジェクト変数に格納する。
Dim Obj As VBIDE.VBProject
Set Obj = ThisWorkbook.VBProject
' ProcCountLinesプロパティを用いて、"Proc2"のコードが何行あるか調べる。
Dim rowCnt As Long
rowCnt = Obj.VBComponents("Module1") _
.CodeModule.ProcCountLines("Proc2", vbext_pk_Proc)
MsgBox rowCnt
' オブジェクトを破棄する。
Set Obj = Nothing
End Sub
' *
' * Proc1 引数無し
' *
Private Sub Proc1()
MsgBox "I'm Private Sub Proc1"
End Sub
' *
' * Proc2 引数無し
' *
Private Sub Proc2()
MsgBox "I'm Private Sub Proc2"
End Sub
' *
' * Proc3 引数無し
' *
Private Sub Proc3()
MsgBox "I'm Private Sub Proc3"
End Sub
このサンプルコードを実行すると、以下のメッセージボックスが表示されます。
コメントを残す