下面的VBA代码可用于遍历表单上的所有控件,但是如何使用控件名称c.name设置控件的任何属性?
Dim c As Control
For Each c In Me.Controls
If TypeName(c) = "TextBox" Then
MsgBox "Control Name= " & c.name & " Control Value = " & c.Value
'I'm looking for this Part: c.name .BackColor = 255
End If
Next
答案 0 :(得分:3)
最好先定义要更改的控件,然后将其包含在For循环中。
MessageGetRequestObj.Service.HttpClient.Timeout = new TimeSpan(0, 5, 0);
答案 1 :(得分:0)
嗯,只需设置属性?
Dim c As Control
For Each c In Me.Controls
If TypeName(c) = "TextBox" Then
c.BackColor = 255
End If
Next
由于您使用的是常规Control
而不是特定的TextBox
界面,因此Intellisense无法正常工作,但是它将运行正常。
答案 2 :(得分:0)
要设置BackColor
中的Textbox
,您可以直接访问它:TextBox1.BackColor = 255
。
您尝试此操作的方法是通过Name
的{{1}}属性,该属性仅返回一个字符串。
基本上您在做什么是TextBox
,这会导致错误:
编译错误:限定词无效。
所以正确的方法如下:
TextBox1.Name.BackColor = 255
如果要使用智能感知,则可以设置对临时变量的引用。
Dim c As Control
For Each c In Me.Controls
If TypeName(c) = "TextBox" Then
c.BackColor = 255
End If
Next
这里是Microsofts Documentation在“文本框对象(访问)”上。您可以将其用作其不同方法和属性的参考。
答案 3 :(得分:-1)
自从我涉足VBA以来已经太久了。 我的问题的(明显)正确答案是: c.BackColor = 255