Vykoná metódu objektu alebo nastaví či vráti vlastnosť pre objekt.
Syntax
CallByName ( object , procname, calltype [, args()])
Syntax funkcie CallByName má tieto argumenty:
Argument |
Popis |
object |
Povinný argument. Variant (Object). Názov objektu, na ktorom sa funkcia vykoná. |
procname |
Povinný argument. Variant (String). Reťazcový výraz obsahujúci názov vlastnosti alebo metódy objektu. |
calltype |
Povinný argument. Konštanta. Konštanta typu vbCallType, ktorá predstavuje typ volanej procedúry. |
args () |
Voliteľný argument. Variant (Array). |
Poznámky
Funkcia CallByName slúži na získanie alebo nastavenie vlastnosti či na vyvolanie metódy v čase spustenia pomocou názvu reťazca.
V nasledujúcom príklade sa v prvom riadku pomocou funkcie CallByName nastaví vlastnosť MousePointer textového poľa, v druhom riadku sa získa hodnota vlastnosti MousePointer a v treťom riadku sa vyvolá metóda Move na premiestnenie textového poľa:
CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet) CallByName Text1, "Move", vbMethod, 100, 100
Príklad
Poznámka: Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.
V tomto príklade je funkcia CallByName použitá na vyvolanie metódy Move tlačidla príkazu.
V príklade sa používa aj formulár (Form1) s tlačidlom (Command1) a menovka (Label1). Pri načítaní formulára sa vlastnosť Caption menovky nastaví na názov metódy, ktorá sa má vyvolať, v tomto prípade „Move“. Po kliknutí na tlačidlo funkcia CallByName vyvolá metódu na zmenu umiestnenia tlačidla.
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