CallByName-funktio

Käytetään kohteeseen
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Suorittaa objektin menetelmän tai määrittää tai palauttaa objektin ominaisuuden.

Syntaksi

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

CallByName-funktion syntaksilla on seuraavat argumentit:

Argumentti Kuvaus
object Pakollinen. Variant (objekti). Sen objektin nimi, jossa funktio suoritetaan.
procname Pakollinen. Variant (merkkijono). Merkkijonolauseke, joka sisältää ominaisuuden nimen tai objektin menetelmän.
calltype Pakollinen. Vakio. vbCallType-tyypin vakio, joka edustaa kutsuttavaa menettelytyyppiä.
args() Valinnainen. Variant (matriisi).

    

Huomautuksia

CallByName-funktion avulla saadaan tai määritetään ominaisuus tai käynnistetään menetelmä suorituksen aikana merkkijonon nimen avulla.

Seuraavassa esimerkissä ensimmäinen rivi käyttää CallByName-funktiota tekstiruudun MousePointer-ominaisuuden määrittämiseen, toinen rivi saa MousePointer-ominaisuuden arvon ja kolmas rivi käynnistää Move-menetelmän tekstiruudun siirtämiseksi:

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

Esimerkki

Huomautus

Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.

Tässä esimerkissä käytetään CallByName-funktiota käynnistämään komentopainikkeen Move-menetelmä.

Esimerkissä käytetään myös lomaketta (Form1), jossa on painike (Command1) ja selite (Label1). Kun lomake on ladattu, otsikon Caption-ominaisuudeksi määritetään kutsuttavan menetelmän nimi, tässä tapauksessa ”Move”. Kun painiketta napsautetaan, CallByName-funktio käynnistää menetelmän painikkeen sijainnin muuttamiseksi.

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