Funzione CallByName

Si applica a
Access per Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Esegue un metodo di un oggetto oppure imposta o restituisce una proprietà di un oggetto.

Sintassi

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

La sintassi della funzione CallByName ha gli argomenti seguenti:

Argomento Descrizione
oggetto Obbligatorio. Variant (Object). Nome dell'oggetto su cui verrà eseguita la funzione.
nomeprogetto Obbligatorio. Variant (String). Espressione stringa contenente il nome di una proprietà o di un metodo dell'oggetto.
tipochiamata Obbligatorio. Costante. Costante di tipo vbCallType che rappresenta il tipo di routine chiamata.
args() Facoltativo. Variant (Array).

    

Osservazioni

La funzione CallByName viene usata per ottenere o impostare una proprietà o per richiamare un metodo in fase di esecuzione usando un nome stringa.

Nell'esempio seguente la prima riga usa CallByName per impostare la proprietà MousePointer di una casella di testo, la seconda riga ottiene il valore della proprietà MousePointer e la terza riga richiama il metodo Move per spostare la casella di testo:

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

Esempio

Nota

Gli esempi seguenti illustrano l'uso di questa funzione in un modulo di Visual Basic, Applications Edition (VBA). Per altre informazioni sull'uso di VBA, selezionare Riferimenti per sviluppatori nell'elenco a discesa accanto a Cerca e immettere uno o più termini nella casella di ricerca.

Questo esempio usa la funzione CallByName per richiamare il metodo Move di un pulsante di comando.

L'esempio usa anche una maschera (Form1) con un pulsante (Command1) e un'etichetta (Label1). Quando la maschera viene caricata, la proprietà Caption dell'etichetta viene impostata sul nome del metodo da richiamare, in questo caso "Move". Quando si fa clic sul pulsante, la funzione CallByName richiama il metodo per modificare la posizione del pulsante.

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