Végrehajtja egy objektum metódusát, vagy beállítja vagy visszaadja egy objektum egy tulajdonságát.
Szintaxis
CallByName(objektum , procname, hívástípus [, args()])
A CallByName függvény argumentumai a következők:
| Argumentum | Leírás: |
|---|---|
| objektum | Kötelező megadni. Variant (objektum). Annak az objektumnak a neve, amelyen a függvényt végre szeretné hajtani. |
| procname | Kötelező megadni. Variáns (Karakterlánc). Az objektum egy tulajdonságának vagy metódusának a nevét tartalmazó karakterlánc-kifejezés. |
| hívástípus | Kötelező megadni. Állandó. A hívott eljárás típusát képviselő vbCallType típusú állandó. |
| args() | Nem kötelező. Variant (tömb). |
Megjegyzések
A CallByName függvény tulajdonság lekérésére vagy beállítására, illetve metódus futásidőben való meghívására használható egy karakterláncnév használatával.
A következő példában az első sor a CallByName tulajdonsággal beállítja egy szövegmező MousePointer tulajdonságát, a második sor a MousePointer tulajdonság értékét kapja, a harmadik sor pedig meghívja a Move metódust a szövegmező áthelyezéséhez:
CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet)
CallByName Text1, "Move", vbMethod, 100, 100
Példa
Megjegyzés
A következő példák egy Visual Basic for Applications (VBA) modulban mutatják be a függvény használatát. A VBA használatáról a Keresés elem mellett található legördülő listából a fejlesztői forrásokat választva, majd egy vagy több keresőszót megadva kaphat további tájékoztatást.
Ez a példa a CallByName függvénnyel meghívja egy parancsgomb Move metódusát.
A példában látható még egy űrlap (Form1) egy gombbal (Command1) és egy címkével ().Label1 Az űrlap betöltésekor a címke Cím tulajdonsága annak a metódusnak a nevére van beállítva, amely meghívja – jelen esetben a "Move" szót. Amikor a gombra kattint, a CallByName függvény meghívja a gomb helyének módosítására szolgáló metódust.
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