CallByName-Funktion
Führt eine Methode eines Objekts aus oder legt eine Eigenschaft eines Objekts fest oder gibt sie zurück.
Syntax
CallByName (object, procname, calltype, [args()]_)
Die Syntax der CallByName-Funktion hat folgende benannten Argumente:
Bestandteil | Beschreibung |
---|---|
Objekt | Erforderlich: Variant (Objekt). Der Name des Objekts, auf dem die Funktion ausgeführt wird. |
procname | Erforderlich: Variant (String). Ein Zeichenfolgenausdruck, der den Namen einer Eigenschaft oder Methode des Objekts enthält. |
Calltype | Erforderlich: Konstant. Eine Konstante vom Typ vbCallType, die den aufgerufenen Prozedurtyp darstellt. |
args() | Optional: Variante (Array). |
Hinweise
Die CallByName-Funktion wird verwendet, um eine Eigenschaft abzurufen oder festzulegen oder eine Methode zur Laufzeit mithilfe eines Zeichenfolgennamens aufzurufen.
Im folgenden Beispiel verwendet die erste Zeile CallByName , um die MousePointer-Eigenschaft eines Textfelds festzulegen, die zweite Zeile ruft den Wert der MousePointer-Eigenschaft ab, und die dritte Zeile ruft die Move-Methode auf, um das Textfeld zu verschieben.
CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet)
CallByName Text1, "Move", vbMethod, 100, 100
Beispiel
In diesem Beispiel wird die CallByName-Funktion verwendet, um die Move-Methode einer Command-Schaltfläche aufzurufen.
Im Beispiel wird auch ein Formular (Form1
) mit einer Schaltfläche (Command1
) und einer Bezeichnung (Label1
) verwendet. Wenn das Formular geladen wird, wird die Caption-Eigenschaft der Bezeichnung auf "Move" und der Name der aufzurufenden Methode festgelegt. Wenn Sie auf die Schaltfläche klicken, ruft die CallByName -Funktion die Methode zum Ändern der Position der Schaltfläche auf.
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
Siehe auch
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.