CallByName, funksjon

Gjelder for
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Utfører en metode for et objekt, eller angir eller returnerer en egenskap for et objekt.

Syntaks

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

Syntaksen for CallByName-funksjonen har disse argumentene:

Argumenter Beskrivelse
objekt Obligatorisk. Variant (objekt). Navnet på objektet der funksjonen skal kjøres.
procname Obligatorisk. Variant (streng). Et strenguttrykk som inneholder navnet på en egenskap eller metode for objektet.
calltype Obligatorisk. Konstant. En konstant av typen vbCallType som representerer prosedyretypen som kalles.
args() Valgfritt. Variant (matrise).

    

Merknader

CallByName-funksjonen brukes til å hente eller angi en egenskap, eller til å aktivere en metode ved kjøring ved hjelp av et strengnavn.

I eksemplet nedenfor bruker den første linjen CallByName til å angi MousePointer-egenskapen for en tekstboks, den andre linjen får verdien av MousePointer-egenskapen , og den tredje linjen aktiverer Move-metoden for å flytte tekstboksen:

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

Eksempel

Obs!

I eksemplene nedenfor vises bruken av denne funksjonen i en VBA-modul (Visual Basic for Applications). Hvis du vil ha mer informasjon om hvordan du arbeider med VBA, velger du Utviklerreferanse fra rullegardinlisten ved siden av Søk og skriver inn ett eller flere søkeord i søkeboksen.

Dette eksemplet bruker CallByName-funksjonen til å aktivere flyttemetoden for en kommandoknapp.

I eksemplet brukes også et skjema (Form1) med en knapp (Command1) og en etikett (Label1). Når skjemaet lastes inn, settes Caption-egenskapen for etiketten til navnet på metoden som skal aktiveres, i dette tilfellet «Flytt». Når du klikker knappen, aktiverer CallByName-funksjonen metoden for å endre plasseringen av knappen.

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