Provede metodu objektu nebo nastaví či vrátí vlastnost objektu (Objekt: Tabulka, graf, grafika, rovnice nebo jiná forma informací. Objekty vytvořené v jedné aplikaci, např. tabulky, a propojené s jinou aplikací nebo vložené do jiné aplikace se nazývají objekty OLE.).
Syntaxe
CallByName(objekt, název_procedury, typ_volání [, argumenty()])
Syntaxe funkce CallByName zahrnuje tyto argumenty (Argument: Hodnota, která poskytuje informace určité akci, události, metodě, vlastnosti, funkci nebo proceduře.):
| Argument |
Popis |
| objekt |
Povinný. Variant (objekt). Název objektu, ve kterém bude funkce provedena. |
| název_procedury |
Povinný. Variant (řetězec). Řetězcový výraz obsahující název vlastnosti nebo metody objektu. |
| typ_volání |
Povinný. Konstanta. Konstanta typu vbCallType představující typ volané procedury. |
| argumenty() |
Volitelný. Variant (matice). |
Poznámka
Funkce CallByName se používá k získání či nastavení vlastnosti nebo k vyvolání metody během spuštění na základě názvu ve tvaru řetězce.
V následujícím příkladu se funkce CallByName na prvním řádku používá k nastavení vlastnosti MousePointer (Ukazatel myši) textového pole, na druhém řádku se hodnota vlastnosti MousePointer získává a na třetím řádku se vyvolává metoda Move (Přesunout) za účelem přesunutí textového pole:
CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet)
CallByName Text1, "Move", vbMethod, 100, 100
Příklad
Poznámka: Následující příklady uvádějí použití této funkce v modulu jazyka Visual Basic for Applications (VBA). Další informace o práci s jazykem VBA získáte tak, že klepnete na položku Referenční informace pro vývojáře v rozevíracím seznamu vedle pole Hledat a do pole pro hledání zadáte jeden nebo více pojmů.
V tomto příkladu se pomocí funkce CallByName vyvolává metoda Move u příkazového tlačítka.
V příkladu se rovněž používá formulář (Form1) s tlačítkem (Command1) a popiskem (Label1). Po načtení formuláře je vlastnost Caption (Popisek) popisku nastavena na název metody, která má být vyvolána, v tomto případě metody Move. Po klepnutí na tlačítko vyvolá funkce CallByName danou metodu, která změní umístění tlačítka.
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