Функція CallByName

Застосовується до
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Виконує метод об'єкта, встановлює чи повертає властивість об'єкта.

Синтаксис

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

Синтаксис функції CallByName має такі аргументи:

Аргумент Опис
об’єкт — обов’язковий аргумент. Варіант Variant (Object). Ім'я об'єкта, на якому буде виконуватися функція.
Призначення Обов’язковий аргумент. Дані типу Variant (String). Рядковий вираз, який містить ім'я властивості або методу об'єкта.
calltype (тип виклику) — обов’язковий аргумент. Постійний. Константа типу vbCallType , що представляє тип процедури, що викликається.
args() — необов’язковий аргумент. Variant (Array).

    

Примітки

Функція CallByName використовується для отримання або встановлення властивості, або для виклику методу під час виконання за допомогою імені рядка.

У наведеному нижче прикладі в першому рядку використовується функція CallByName , щоб установити властивість MousePointer текстового поля, у другому рядку отримується значення властивості MousePointer , а третій рядок викликає метод Move для переміщення текстового поля:

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

Приклад

Примітка.

У прикладах нижче показано використання цієї функції в модулі Visual Basic for Applications (VBA). Щоб отримати докладні відомості про використання модуля VBA, клацніть пункт Довідник розробника в розкривному списку поряд із полем Пошук і введіть у поле пошуку принаймні один термін.

У цьому прикладі функцію CallByName використано, щоб викликати метод Move кнопки.

У прикладі також використовується форма (Form1) з кнопкою (Command1) і підписом (Label1). Коли форма завантажується, властивість Caption підпису встановлюється на ім'я методу, який викликає, у цьому випадку, Move. Коли ви натискаєте кнопку, функція CallByName викликає метод для зміни розташування кнопки.

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