オブジェクトのメソッドを実行するか、オブジェクト のプロパティを設定または取得します。
構文
CallByName ( object , procname, calltype [, args()])
CallByName 関数構文の引数は次のとおりです。
引数 |
説明 |
object |
必須。 Variant (Object)。 関数を実行するオブジェクトの名前です。 |
procname |
必須。 Variant (String)。 オブジェクトのプロパティまたはメソッドの名前を含む文字列式です。 |
calltype |
必須。 定数。 呼び出すプロシージャの種類を表す vbCallType 型の定数です。 |
args () |
省略可能。 Variant (Array)。 |
解説
CallByName 関数は、文字列名を使って実行時に、プロパティを取得または設定するため、またはメソッドを呼び出すために使います。
次の例の 1 行目では、CallByName を使ってテキスト ボックスの MousePointer プロパティを設定します。2 行目では、MousePointer プロパティの値を取得します。3 行目では、Move メソッドを呼び出してテキスト ボックスを移動します。
CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet) CallByName Text1, "Move", vbMethod, 100, 100
例
注: 次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。
この例では、CallByName 関数を使って、コマンド ボタンの Move メソッドを呼び出します。
また、ボタン (Command1) とラベル (Label1) を含むフォーム (Form1) を使います。 フォームを読み込んだ後、ラベルの Caption プロパティに、呼び出すメソッドの名前を設定します (この例では "Move")。 ボタンをクリックすると、CallByName 関数がメソッドを呼び出してボタンの位置を変更します。
Option Explicit
Private Sub Form_Load() Label1.Caption = "Move"' Name of Move method. End Sub Private Sub Command1_Click() If Command1.Left <> 0 Then CallByName Command1, Label1.Caption, vbMethod, 0, 0 Else CallByName Command1, Label1.Caption, vbMethod, 500, 500 End If