Führt eine Methode eines Objekts aus, oder legt eine Eigenschaft eines Objekts fest bzw. gibt sie zurück.
Syntax
CallByName ( Objekt , Prozedurname, Aufruftyp [, Argumente()])
Die Syntax der Funktion CallByName weist die folgenden Argumente auf:
Argument |
Beschreibung |
Objekt |
Erforderlich. Variant (Object). Der Name des Objekts, für das die Funktion ausgeführt wird. |
Prozedurname |
Erforderlich. Variant (String). Ein Zeichenfolgenausdruck, der den Namen einer Eigenschaft oder Methode des Objekts enthält. |
Aufruftyp |
Erforderlich. Constant. Eine Konstante vom Typ vbCallType, die den Typ der aufgerufenen Prozedur darstellt. |
Argumente () |
Optional. Variant (Array). |
Hinweise
Die Funktion CallByName wird verwendet, um eine Eigenschaft abzurufen bzw. festzulegen oder eine Methode zur Laufzeit mit einem Zeichenfolgennamen aufzurufen.
Im folgenden Beispiel legt die erste Zeile mit CallByName die Eigenschaft MousePointer eines Textfelds fest, die zweite Zeile ruft den Wert der Eigenschaft MousePointer ab, und die dritten Zeile ruft die Methode Move auf, um das Textfeld zu verschieben:
CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet) CallByName Text1, "Move", vbMethod, 100, 100
Beispiel
Hinweis: Die folgenden Beispiele zeigen die Verwendung dieser Funktion in einem VBA-Modul (Visual Basic for Applications). Wenn Sie weitere Informationen zum Arbeiten mit VBA wünschen, wählen Sie Entwicklerreferenz in der Dropdownliste neben Suchen aus, und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.
In diesem Beispiel wird die Funktion CallByName verwendet, um die Methode Move einer Befehlsschaltfläche aufzurufen.
Das Beispiel verwendet zudem ein Formular (Form1) mit einer Schaltfläche (Command1) und einer Bezeichnung (Label1). Beim Laden des Formulars wird die Caption-Eigenschaft der Beschriftung auf den Namen der aufzurufenden Methode festgelegt, in diesem Fall "Move". Wenn Sie auf die Schaltfläche klicken, ruft die CallByName-Funktion die Methode auf, um die Position der Schaltfläche zu ändern.
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