ExcelWork.info

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

モジュール内のコードを操作する(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 の内容

CodeModule メソッド 1-1

code.txt の内容(sample_macro01)

CodeModule メソッド 1-2

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

CodeModule メソッド 1-3

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

CodeModule メソッド 1-4



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


実行結果 2

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

CodeModule メソッド 2-1

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

CodeModule メソッド 2-2

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

CodeModule メソッド 2-3



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


実行結果 3

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

CodeModule メソッド 3-1

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

CodeModule メソッド 3-2

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

CodeModule メソッド 3-3



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

Message

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

  関連記事

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

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

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

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

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

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

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

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

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

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

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

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