Funcția CallByName

Se aplică la
Access pentru Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Execută o metodă a unui obiect sau setează sau returnează o proprietate a unui obiect.

Sintaxă

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

Sintaxa funcției CallByName are următoarele argumente:

Argument Descriere
obiect Obligatoriu. Variant (Obiect). Numele obiectului pe care va fi executată funcția.
numec Obligatoriu. Variant (Șir). O expresie șir care conține numele unei proprietăți sau metode ale obiectului.
tip apel Obligatoriu. Constantă. O constantă de tip vbCallType reprezentând tipul de procedură apelat.
args() Opțional. Variant (matrice).

    

Observații

Funcția CallByName este utilizată pentru a obține sau a seta o proprietate sau pentru a invoca o metodă la momentul rulării, utilizând un nume de șir.

În exemplul următor, prima linie utilizează CallByName pentru a seta proprietatea MousePointer a unei casete text, a doua linie obține valoarea proprietății MousePointer , iar a treia linie apelează metoda Move pentru a muta caseta text:

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

Exemplu

Notă

Exemplele care urmează demonstrează utilizarea acestei funcții într-un modul Visual Basic for Applications (VBA). Pentru mai multe informații despre lucrul cu VBA, selectați Referințe pentru dezvoltatori în lista verticală de lângă Căutare și introduceți unul sau mai mulți termeni în caseta de căutare.

Acest exemplu utilizează funcția CallByName pentru a invoca metoda Move a unui buton de comandă.

Exemplul utilizează, de asemenea, un formular (Form1) cu un buton (Command1) și o etichetă (Label1). Atunci când formularul este încărcat, proprietatea Caption a etichetei este setată la numele metodei de invocare, în acest caz, "Move". Atunci când faceți clic pe buton, funcția CallByName apelează metoda de a modifica locația butonului.

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