■ 最新の投稿

VBAモジュール内のx行目~x+y行目を調べる

CodeModuleのLinesプロパティを用いると、モジュール内のコードそのものにVBAからアクセスすることができます。

① Visual Baisc プロジェクトへのアクセスを許可します。

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

このサンプルコードを実行すると、以下のメッセージボックスが表示されます。


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です