VB如何用变量的值来引用控件!
发布网友
发布时间:2022-05-13 20:45
我来回答
共5个回答
热心网友
时间:2023-10-27 05:21
CallByName 函数
执行一个对象的方法,或者设置或返回一个对象的属性。
语法
CallByName(object, procerename, calltype,[arguments()])
CallByName 函数的语法有以下部分:
部分 描述
object 必需的;变体型(对象)。函数将要执行的对象的名称。
procerename 必需的;变体型(字符串)。一个包含该对象的属性名称或者方法名称的字符串表达式。
calltype 必需的;常数。一个 vbCallType 类型的常数,代表正在被调用的过程的类型。
arguments() 可选的:变体型(数组)。
说明
CallByName 函数用于获取或者设置一个属性,或者在运行时使用一个字符串名称来调用一个方法。
在下面的例子中,第一行使用 CallByName 来设置一个文本框的 MousePointer 属性,第二行得到 MousePointer 属性的值,第三行调用 Move 方法来移动文本框:
CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet)
CallByName Text1, "Move", vbMethod, 100, 100
热心网友
时间:2023-10-27 05:22
控件的名称是不能改变的。改变的是控件的属性值。
加入有个标签的名称为;label1,caption为a,可以利用代码改变caption的值,但是不能改变label1的名称。因为控件的名称为只读属性,也就是只能在设计阶段更改,运行后就不变了。
热心网友
时间:2023-10-27 05:22
Private Sub Command1_Click()
Dim a As Label
Set a = Label1
a.Caption = "123"
End Sub
热心网友
时间:2023-10-27 05:23
VB本身不支持这种方式,你可以引用 Microsoft Script Control,代码如下:
Dim scr As New ScriptControl
scr.Language = "vbscript"
scr.AddObject "Form1", Form1
scr.ExecuteStatement "Form1.GetNumber"
'GetNumber()是自定义过程
热心网友
时间:2023-10-27 05:24
a=“123”
labal1.Caption =a追问我想问的是能不能用变量代替控件名称,然后再输出!