ExcelWork.info

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

CodeModule オブジェクト

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


【書式】

<取得>
object.CodeModule


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



CodeModule の主なメソッド


CodeModule.AddFromFile メソッド

指定したファイルの内容を対象のオブジェクト(モジュール)に追加します。
この時、モジュール内にすでにプロシージャが存在する場合は、最も上にあるプロシージャの上に挿入されます。プロシージャが含まれていない場合は、モジュールの最後に追加されます。


【書式】

object.AddFromFile ( filename )


引数・戻り値
  • object  ・・・  対象となる CodeModule オブジェクトを指定します。
  • filename  ・・・  object で指定したモジュールに追加するファイルの名前(パス含む)を表す文字列式を指定します。

CodeModule.AddFromString メソッド

指定した文字列を対象のオブジェクト(モジュール)に追加します。
この時、モジュール内にすでにプロシージャが存在する場合は、最も上にあるプロシージャの上に挿入されます。プロシージャが含まれていない場合は、モジュールの最後に追加されます。


【書式】

object.AddFromString ( string )


引数・戻り値
  • object  ・・・  対象となる CodeModule オブジェクトを指定します。
  • string  ・・・  object で指定したモジュールに追加する文字列を指定します。

CodeModule.DeleteLines メソッド

モジュールに記載されているコードを削除します。startline に指定した行から count に指定した行数を削除します。


【書式】

object.DeleteLines ( startline [, count ] )


引数・戻り値
  • object  ・・・  対象となる CodeModule オブジェクトを指定します。
  • startline  ・・・  削除する先頭行を長整数型(Long)の値で指定します。
  • count  ・・・  削除する行数を長整数型(Long)の値を指定します。省略した場合は、1 行削除されます。

CodeModule.InsertLines メソッド

指定した行に、文字列(コード)を挿入します。


【書式】

object.InsertLines ( startline, code )


引数・戻り値
  • object  ・・・  対象となる CodeModule オブジェクトを指定します。
  • startline  ・・・  挿入する行を長整数型(Long)の値で指定します。
  • code  ・・・  挿入するコードを文字列型(String)で指定します。文字列に、改行コード(キャリッジリターン、ラインフィード)を含んでいる場合は、連続した行として挿入されます。

CodeModule.ReplaceLine メソッド

既存の指定した行を指定したコードに置き換えます。


【書式】

object.ReplaceLine ( startline, code )


引数・戻り値
  • object  ・・・  対象となる CodeModule オブジェクトを指定します。
  • startline  ・・・  置換する行を長整数型(Long)の値で指定します。
  • code  ・・・  置換するコードを文字列型(String)で指定します。



CodeModule メソッド 使用例

AddFromFile メソッド / AddFromString メソッド を使ったサンプル


実行結果 1

「AddFromFile メソッド / AddFromString メソッド を使ったサンプル」を実行する前の test01.xlsm の Module1 の内容

code.txt の内容(sample_macro01)

「AddFromFile メソッド / AddFromString メソッド を使ったサンプル」を実行

「AddFromFile メソッド / AddFromString メソッド を使ったサンプル」を実行後の test01.xlsm の Module1 の内容



DeleteLines メソッド / ProcBodyLine プロパティ / ProcCountLines プロパティ / Lines プロパティ を使ったサンプル


実行結果 2

Sample_CodeModule04() を実行後の test01.xlsm の Module1 の内容

「DeleteLines メソッド / ProcBodyLine プロパティ / ProcCountLines プロパティ / Lines プロパティ を使ったサンプル」を実行

「DeleteLines メソッド / ProcBodyLine プロパティ / ProcCountLines プロパティ / Lines プロパティ を使ったサンプル」を実行後の test01.xlsm の Module1 の内容



InsertLines メソッド / ReplaceLine メソッド を使ったサンプル


実行結果 3

「InsertLines メソッド / ReplaceLine メソッド を使ったサンプル」を実行する前の test01.xlsm の Module1 の内容

「InsertLines メソッド / ReplaceLine メソッド を使ったサンプル」を実行

「InsertLines メソッド / ReplaceLine メソッド を使ったサンプル」を実行後の test01.xlsm の Module1 の内容