Поделиться через


Функция CallByName

Выполняет метод объекта либо устанавливает или возвращает свойство объекта.

Синтаксис

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

В синтаксисе функции CallByName используются следующие именованные аргументы:

Part Описание
object Обязательный аргумент: Variant (Object). Имя объекта, для которого выполняется функция.
procname Обязательный аргумент: 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

Пример

В этом примере функция CallByName используется для вызова метода Move кнопки Command .

В примере также используется форма (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

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.