CallByName funkcija

Taikoma
„Access“, skirta „Microsoft 365“ „Access 2024“ Access 2021 Access 2019 Access 2016

Vykdo objekto metodą arba nustato ar pateikia objekto ypatybę.

Sintaksė

CallByName(object , procname, calltype [, args()])

Funkcijos CallByName sintaksę sudaro šie argumentai:

Argumentas Aprašymas
objektas Būtinas. Variantas (objektas). Objekto, kuriame bus vykdoma funkcija, pavadinimas.
procname Būtinas. Variantas (eilutė). Eilutės reiškinys, kuriame yra objekto ypatybės arba metodo pavadinimas.
skambučio tipas Būtinas. Pastovus. " vbCallType " tipo konstanta, nurodanti iškviečiamos procedūros tipą.
argumentai() Pasirinktinis. Variantas (masyvas).

    

Pastabos

Funkcija CallByName naudojama norint gauti ar nustatyti ypatybę arba iškviesti metodą vykdymo metu naudojant eilutės pavadinimą.

Toliau pateiktame pavyzdyje, pirmoje eilutėje naudojama CallByName teksto laukelio ypatybei MousePointer nustatyti, antroje eilutėje gaunama ypatybės MousePointer reikšmė, o trečioje eilutėje iškviečiamas metodas Perkelti , kad būtų perkeltas teksto laukas:

CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet)
CallByName Text1, "Move", vbMethod, 100, 100

Pavyzdys

Pastaba

Pateiktuose pavyzdžiuose parodyta, kaip naudoti šią funkciją „Visual Basic for Applications“ (VBA) modulyje. Daugiau informacijos apie darbą su VBA rasite išplečiamajame sąraše pasirinkę Kūrėjų nuoroda (šalia Ieškos) ir ieškos lauke įvedę vieną ar daugiau sąlygų.

Šiame pavyzdyje naudojama funkcija CallByName , kad būtų iškviestas komandos mygtuko metodas Perkelti .

Pavyzdyje taip pat naudojama forma (Form1) su mygtuku (Command1) ir žyma ().Label1 Įkėlus formą, žymos ypatybė Caption nustatoma kaip metodo, kurį reikia iškviesti, šiuo atveju "Move", pavadinimas. Spustelėjus mygtuką, funkcija CallByName iškviečia mygtuko vietos keitimo būdą.

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