CallByName 函数

执行对象的方法,或者设置或返回对象的属性。

语法

CallByName (objectprocnamecalltype, [args () ]_)

CallByName 函数语法具有以下命名参数

Part 说明
object 必需: 变量 (对象) 。 将对其执行函数的对象的名称。
procname 必需: 变量 (字符串) 。 包含对象的属性或方法的名称的字符串表达式。
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 函数调用 Command 按钮的 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

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。