CallByName 関数
オブジェクトのメソッドを実行するか、オブジェクトのプロパティを設定するか返します。
構文
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
例
この例では、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
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。