Spustí metodu objektu nebo nastaví nebo vrátí vlastnost objektu.
Syntaxe
CallByName(object , procname, calltype [, args()])
Syntaxe funkce CallByName obsahuje tyto argumenty:
| Argument | Popis |
|---|---|
| objekt | Povinný argument. Varianta (Object). Název objektu, na kterém bude funkce spuštěna. |
| procname | Povinný argument. Proměnná (String). Řetězcový výraz obsahující název vlastnosti nebo metody objektu. |
| typ volání | Povinný argument. Konstantní. Konstanta typu vbCallType představující typ volané procedury. |
| args() | Nepovinný argument. Proměnná (matice). |
Poznámky
Funkce CallByName slouží 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á Move metodu k 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.
Tento příklad používá funkci CallByName k vyvolání metody Move příkazového tlačítka.
V příkladu se taky používá formulář (Form1) s tlačítkem (Command1) a popiskem (Label1). Při načtení formuláře Caption je vlastnost popisku nastavena na název metody, která má být vyvolána, v tomto případě "Move". Když kliknete na tlačítko, funkce CallByName vyvolá metodu pro změnu 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