MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

如何统一设置或者清空文本框的值,VBA编程技巧

2025-03-07 19:28 huorong 精选文章 4 ℃ 0 评论

No.1

VBA表单编辑中,会有一些相同类型的控件,在处理这些控件的同时,需要对控件的值进行一个初始化设置,有时候也没有什么好办法。

本节介绍一下,如何找到相应的控件并对其值进行初始化设置。

No.2

本节内容是上一篇文章的扩展,是对某一个知识点进行应用的结果。

如下图所示,有5个文本框,当需要对这些文本框进行一个清空操作,或者是初始化值的时候,如何来进行操作。

设置文本框值

如果是逐个文本框进行赋值的话,可能显得十分笨拙,且假如是50个文本框的话,那么如此编程就是一个劳动密集性工作了,没有意义。

要实现的方法是用最少的代码,实现最需要的结果。

可以利用遍历表单控件的方法,然后对控件进行逐个判断,进而设置其值。

清空文本框值

No.3

编码实现

Private Sub CommandButton1_Click()
Dim xObj As Object
For Each xObj In Me.Controls'遍历控件
    If TypeOf xObj Is MsForms.TextBox Then'如果控件是TextBox
         xObj.Value = xObj.Name'控件名赋值给文本框
    End If
Next xObj
End Sub

上述代码是按钮控件代码,实现对表单中的控件遍历,然后判断是否为文本框控件,如果是就把控件名赋值给文本框。

重点要掌握一句:

TypeOf xObj is MsForms.TextBox

这行代码可解释为,判断对象xObj是否为TextBox控件,如果是返回True,如果不是返回False。

通过判断实现对表单控件检索,分类确认。

其它控件可用如下代码进行识别:

  • TypeOf xObj is MsForms.Label'标签控件
  • TypeOf xObj is MsForms.ComboBox'组合框控件
  • TypeOf xObj is MsForms.ListBox'列表框控件
  • TypeOf xObj is MsForms.CheckBox'多选框控件
  • TypeOf xObj Is MsForms.OptionButton'单选框控件
  • TypeOf xObj Is MsForms.CommandButton'按钮控件
  • TypeOf xObj Is MsForms.Image'图片控件

这是一种方法,其实还有一种判断窗体控件类型的方法,如下代码:

If TypeName(xObj) = "TextBox" Then
		msgbox xobj.name
End If

TypeName()函数可返回一个变量或者对象类型字符串,如果是文本框就返回"TextBox"。

同样也可以实现某一类控件的判断。

欢迎关注、收藏

---END---

Tags:subcommand

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言