CodeModuleのLinesプロパティを用いると、モジュール内のコードそのものにVBAからアクセスすることができます。
① Visual Baisc プロジェクトへのアクセスを許可します。
② 「Microsoft Visual Basic for Application Extensibility」を参照設定します。
③ 次のプログラムコードを記載します。
Public Sub Sample_Lines_01()
' ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
' 参照設定:
' 「Microsoft Visual Basic for Application Extensibility」
' ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
' このブックのVBProjectをオブジェクト変数に格納する。
Dim Obj As VBIDE.VBProject
Set Obj = ThisWorkbook.VBProject
' Linesプロパティを用いて、1行目~20行目のコードを調べる。
Dim code As String
code = Obj.VBComponents("Module1").CodeModule.Lines(1, 20)
MsgBox code
' オブジェクトを破棄する。
Set Obj = Nothing
End Sub
このサンプルコードを実行すると、以下のメッセージボックスが表示されます。
コメントを残す