Funkcia CallByName

Vzťahuje sa na
Access pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Vykoná metódu objektu alebo nastaví či vráti vlastnosť objektu.

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 označenie (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