Izvršava metodu objekta ili postavlja ili vraća svojstvo objekta objekt.
Sintaksa
CallByName ( objekt , procname, calltype [, args()])
Sintaksa funkcije CallByName sadrži sljedeće argumente:
Argument |
Opis |
objekt |
Obavezno. Variant (objekt). Naziv objekta na kojem će se funkcija izvršiti. |
naziv procname |
Obavezno. Variant (niz). Nizovni izraz koji sadrži naziv svojstva ili metode objekta. |
vrsta poziva |
Obavezno. Konstanta, konstanta. Konstanta vrste vbCallType koja predstavlja vrstu postupka koji se poziva. |
args () |
Neobavezno. Variant (polje). |
Napomene
Funkcija CallByName koristi se za dohvaćanje ili postavljanje svojstva ili za pozivanje metode prilikom izvođenja pomoću naziva niza.
U sljedećem primjeru prvi redak koristi CallByName za postavljanje svojstva MousePointer tekstnog okvira, drugi redak dobiva vrijednost svojstva MousePointer, a treći redak poziva metodu Premještanja da biste premjestili tekstni okvir:
CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet) CallByName Text1, "Move", vbMethod, 100, 100
Primjer
Napomena: Primjeri koji slijede prikazuju korištenje te funkcije u modulu jezika Visual Basic for Applications (VBA). Da biste pronašli dodatne informacije o radu s VBA-om, na padajućem popisu uz stavku Traži odaberite stavku Referenca za razvojne inženjere pa unesite jedan ili više izraza u okvir pretraživanja.
U ovom se primjeru koristi funkcija CallByName za pozivanje metode premještanja naredbenog gumba.
U primjeru se koristi i obrazac (Form1) s gumbom (Command1) i oznakom (Label1). Kada se obrazac učita, svojstvo Natpis oznake postavljeno je na naziv metode za pozivanje, u ovom slučaju "Premjesti". Kada kliknete gumb, funkcija CallByName poziva metodu promjene mjesta gumba.
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