CallByName関数 解説(Excel VBA)

Excel VBAのCallByName関数の使い方

Excel VBAのCallByName関数は、オブジェクトのメソッドを動的に呼び出すための関数です。この関数を使用すると、プログラムの実行中に特定のメソッドやプロパティを動的に指定し、呼び出すことができます。

CallByName関数の基本的な構文

CallByName(Object, ProcedureName, CallType, Arguments())

パラメータ

  • Object: メソッドまたはプロパティを持つオブジェクト。
  • ProcedureName: 呼び出すメソッドまたはプロパティの名前。
  • CallType: 呼び出すタイプを指定します。VbGet, VbLet, VbMethod, VbSetのいずれかの値を指定します。
  • Arguments(): メソッドに渡す引数の配列。省略可能です。

サンプルコード

以下に簡単なSubプロシージャの形式でCallByName関数の使い方を示します。

Sub ExampleCallByName()
    Dim obj As Range
    Set obj = Range("A1")
    ' 動的にValueプロパティを設定
    CallByName obj, "Value", vbLet, "テスト"
    ' 動的にValueプロパティを取得
    MsgBox CallByName(obj, "Value", vbGet)
End Sub

このサンプルコードは、RangeオブジェクトのValueプロパティを動的に設定し、その後取得します。その結果をメッセージボックスで表示します。