Provede metodu objektu nebo nastaví nebo vrátí vlastnost objektu Objekt.
Syntaxe
CallByName (objekt, název_položky, typ_volání [, args()])
Syntaxe funkce CallByName má následující argumenty:
Argument |
Popis |
Objekt |
Povinný argument. Variant(Object). Název objektu, na kterém se funkce spustí. |
název_aplikace_procname |
Povinný argument. Variant(String). Řetězcový výraz obsahující název vlastnosti nebo metody objektu. |
typ_volání |
Povinný argument. Konstanta. Konstanta typu vbCallType představující typ procedury, která se nazývá. |
args () |
Nepovinný argument. Variant (Array). |
Poznámky
Funkce CallByName se používá k získání nebo nastavení vlastnosti nebo k vyvolání metody za běhu pomocí názvu řetězce.
V následujícím příkladu první řádek používá CallByName k nastavení vlastnosti MousePointer textového pole, druhý řádek získá hodnotu vlastnosti MousePointer a třetí řádek vyvolá metodu Move pro 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 ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.
V tomto příkladu se funkce CallByName používá k vyvolání metody Move příkazového tlačítka.
V příkladu se používá také formulář (Form1) s tlačítkem (Command1) a popiskem (Label1). Při načtení formuláře je vlastnost Titulek popisku nastavená na název metody pro vyvolání, v tomto případě Move. Když na tlačítko kliknete, vyvolá funkce CallByName metodu změny 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