Funkcja CallByName

Dotyczy
Access dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Wykonuje metodę obiektu lub ustawia lub zwraca właściwość obiektu.

Składnia

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

W składni funkcji WywołajNazwaNazwij występują następujące argumenty:

Argumenty argumentów Opis
obiekt Argument wymagany. Wariant (obiekt). Nazwa obiektu, na którym funkcja zostanie wykonana.
Nazwa proc Argument wymagany. Wariant (ciąg). Wyrażenie tekstowe zawierające nazwę właściwości lub metody obiektu.
calltype (typ połączenia) Argument wymagany. Stała. Stała typu vbCallType reprezentująca typ wywoływanej procedury.
args() Argument opcjonalny. Wariant (tablica).

    

Uwagi

Funkcja CallByName służy do pobierania lub ustawiania właściwości lub wywoływania metody w czasie wykonywania przy użyciu nazwy ciągu.

W poniższym przykładzie w pierwszym wierszu użyto metody CallByName w celu ustawienia właściwości MousePointer pola tekstowego, w drugim wierszu została użyta właściwość MousePointer (Wskaźnik myszy ), a w trzecim wierszu została wywołana metoda Move w celu przeniesienia pola tekstowego:

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

Przykład

Uwaga

Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA). Aby uzyskać dodatkowe informacje na temat pracy w języku VBA, wybierz pozycję Dokumentacja dewelopera z listy rozwijanej obok przycisku Wyszukaj i wprowadź odpowiednie terminy w polu wyszukiwania.

W tym przykładzie użyto funkcji CallByName do wywołania metody Move przycisku polecenia.

W przykładzie użyto również formularza (Form1) z przyciskiem (Command1) i etykietą (Label1). Po załadowaniu formularza właściwość Caption etykiety jest ustawiana na nazwę metody wywoływania, w tym przypadku "Move". Po kliknięciu przycisku funkcja CallByName wywołuje metodę zmiany lokalizacji przycisku.

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