Функція CallByName

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

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

Синтаксис

CallByName(об'єкт , procname, calltype [, args()])

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

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

    

Примітки

Функція 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 підпису установлюватиме ім'я методу, який потрібно викликати, у цьому випадку – "Перемістити". Коли ви натискаєте цю кнопку, функція 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