ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

モジュール内のコードを操作する(CodeModule のプロパティ)

   

CodeModule オブジェクト

モジュール内のコードの追加、削除、編集等を行う場合に使用します。


【書式】

<取得>
object.CodeModule


引数・戻り値

  • object  ・・・  対象となる VBComponent オブジェクトを指定します。


CodeModule の主なプロパティ


CodeModule.CountOfLines プロパティ

object で指定したモジュール内のコードの行数を長整数型(Long)の値で取得します。


【書式】

object.CountOfLines


引数・戻り値

  • object  ・・・  対象となる CodeModule オブジェクトを指定します。

CodeModule.CountOfDeclarationLines プロパティ

object で指定したモジュール内の宣言セクションのコードの行数を長整数型(Long)の値で取得します。


【書式】

object.CountOfDeclarationLines


引数・戻り値

  • object  ・・・  対象となる CodeModule オブジェクトを指定します。

CodeModule.Lines プロパティ

object で指定したモジュール内で指定した部分のコードを文字列型(String)で取得します。


【書式】

object.Lines ( startline [, count ] )


引数・戻り値

  • object  ・・・  対象となる CodeModule オブジェクトを指定します。
  • startline  ・・・  取得する先頭行を長整数型(Long)の値で指定します( 1 以上の値)。
  • count  ・・・  取得する行数を長整数型(Long)の値を指定します。

CodeModule.ProcBodyLine プロパティ

procname に指定したプロシージャの最初の行を長整数型(Long)の値で取得します。


【書式】

<取得>
object.ProcBodyLine ( procname, prockind )


引数・戻り値

  • object  ・・・  対象となる CodeModule オブジェクトを指定します。
  • procname  ・・・  プロシージャの名前を指定します。
  • prockind  ・・・  プロシージャの種類を表す数値(0 ~ 3)を指定します。
    説明
    0 プロパティプロシージャ以外のすべてのプロシージャ
    1 プロパティに値を設定するプロシージャ
    2 オブジェクトへの参照を設定するプロシージャ
    3 プロパティの値を取得するプロシージャ


プロシージャの最初の行とは、Sub、Function、または Property ステートメントがある行のことです。


CodeModule.ProcCountLines プロパティ

procname に指定したプロシージャの行数を 長整数型(Long)の値で取得します。
ここでの行数は、procname の直前のプロシージャの 最終行(End Sub ステートメントEnd Function などを含む行)の次の行、または、最も上にあるプロシージャの場合は、宣言セクションの次の行から指定したプロシージャの最終行までの行数で、空白行も含みます。


【書式】

<取得>
object.ProcCountLines ( procname, prockind )


引数・戻り値

  • object  ・・・  対象となる CodeModule オブジェクトを指定します。
  • procname  ・・・  プロシージャの名前を指定します。
  • prockind  ・・・  プロシージャの種類を表す数値(0 ~ 3)を指定します。
    説明
    0 プロパティプロシージャ以外のすべてのプロシージャ
    1 プロパティに値を設定するプロシージャ
    2 オブジェクトへの参照を設定するプロシージャ
    3 プロパティの値を取得するプロシージャ


CodeModule.ProcStartLine プロパティ

procname に指定したプロシージャの開始行を長整数型(Long)の値で取得します。


【書式】

<取得>
object.ProcStartLines ( procname, prockind )


引数・戻り値

  • object  ・・・  対象となる CodeModule オブジェクトを指定します。
  • procname  ・・・  プロシージャの名前を指定します。
  • prockind  ・・・  プロシージャの種類を表す数値(0 ~ 3)を指定します。
    説明
    0 プロパティプロシージャ以外のすべてのプロシージャ
    1 プロパティに値を設定するプロシージャ
    2 オブジェクトへの参照を設定するプロシージャ
    3 プロパティの値を取得するプロシージャ


ここでのプロシージャの開始行とは、procname の直前のプロシージャの 最終行(End Sub ステートメントEnd Function などを含む行)の次の行、または、最も上にあるプロシージャの場合は、宣言セクションの次の行を指します。


CodeModule.ProcOfLine プロパティ

指定された行が属しているプロシージャ名を取得します。


【書式】

<取得>
object.ProcOfLine ( line, prockind )


引数・戻り値

  • object  ・・・  対象となる CodeModule オブジェクトを指定します。
  • line  ・・・  調べる行を長整数型(Long)の値で指定します。
  • prockind  ・・・  プロシージャの種類を表す数値(0 ~ 3)を指定します。

プロシージャ宣言の前にある空白行やコメント行はプロシージャに含まれます。最後にあるプロシージャの場合は、プロシージャの後にある空白行もプロシージャに含まれます。



CodeModule のプロパティ 使用例

CountOfLines プロパティ / CountOfDeclarationLines プロパティ / Lines プロパティ を使ったサンプル


実行結果 1

CodeModule プロパティ 1



ProcBodyLine プロパティ / ProcCountLines プロパティ / Lines プロパティ を使ったサンプル


実行結果 2

CodeModule プロパティ 2



ProcOfLine プロパティ を使ったサンプル


実行結果 3

CodeModule プロパティ 3



 - VBE , , , , , , , , , , , ,

Message

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

HasVBProject プロパティ
ブックにマクロが含まれているか確認(HasVBProject プロパティ)

HasVBProject プロパティ ブックにマクロが含まれているかどうかを表す …

モジュール内のコードを操作する(CodeModule のメソッド)

CodeModule オブジェクト モジュール内のコードの追加、削除、編集等を行 …

VBComponents コレクション
VBEのモジュールを参照する(VBComponents コレクション)

VBComponents コレクション VBComponents コレクションを …

VBProject プロパティ
VBEを操作する(VBProject プロパティ)

VBProject プロパティ 指定されたブックの VisualBasic プロ …

VBE をマクロで操作する時の設定(VBProject プロパティ、VBE プロパティ)

VBE をマクロで操作する時の設定について Excel 2002 以降のバージョ …

VBComponent オブジェクト 01
VBEのモジュールを参照する(VBComponent オブジェクト)

VBComponent オブジェクト VBComponent オブジェクトは、V …