Egy objektum metódusát hajtja végre, vagy beállítja vagy visszaadja egy objektum tulajdonságát.
Szintaxis
CallByName ( object , procname, calltype [, args()])
A CallByName függvény szintaxisa az alábbi argumentumokat foglalja foglalja tartalmazza:
argumentumok |
Leírás |
objektum |
Megadása kötelező. Variant (objektum). Annak az objektumnak a neve, amelyen a függvény végre lesz hajtva. |
procname |
Kötelező megadni. Variáns (Karakterlánc). Az objektum egy tulajdonságának vagy metódusának nevét tartalmazó karakterlánc-kifejezés. |
calltype |
Megadása kötelező. Állandó. A meghívandó eljárás típusát jelölő vbCallType típusú állandó. |
args () |
Nem kötelező. Variant (Tömb). |
Megjegyzések
A CallByName függvénnyel lekérhet vagy beállíthat egy tulajdonságot, illetve meghívhat egy metódust futásidőben egy sztringnév használatával.
Az alábbi példában az első sor a CallByName függvényt használja egy szövegdoboz MousePointer tulajdonságának beállításához, a második sor a MousePointer tulajdonság értékét, a harmadik sor pedig az Áthelyezés metódust hívja meg a szövegdoboz á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 hívja meg egy parancsgomb Move metódusát.
A példa egy űrlapot (Form1) is használ, egy gombot (Command1) és egy címkét (Label1). Az űrlap betöltésekor a címke Caption ( Felirat ) tulajdonsága a meghívni kívánt metódus nevére van beállítva, ebben az esetben az "Áthelyezés" értékre. Amikor a gombra kattint, a CallByName függvény meghívja a metódust a gomb helyének módosításához.
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