Spustí metodu objektu nebo nastaví nebo vrátí vlastnost Objekt.
Syntaxe
CallByName ( object , procname, calltype [, args()])
Syntaxe funkce CallByName má tyto argumenty:
Argument |
Popis |
Objekt |
Povinný argument. Varianta (objekt). Název objektu, na kterém bude funkce spuštěna. |
název_aplikace |
Povinný argument. Varianta (řetězec). Řetězcový výraz obsahující název vlastnosti nebo metody objektu. |
calltype |
Povinný argument. Konstanta. Konstanta typu vbCallType představující typ volané procedury. |
args () |
Nepovinný argument. Varianta (pole). |
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á 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.
Tento příklad používá funkci CallByName k vyvolání metody Move příkazového tlačítka.
Příklad také používá formulář (Form1) s tlačítkem (Command1) a popiskem (Label1). Při načtení formuláře je vlastnost Caption popisku nastavena na název metody, která se má vyvolat, v tomto případě "Move". Po kliknutí 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