vba 编程,Excel 工作表如何枚举表单控件

vba 编程,Excel 工作表如何枚举表单控件代码中有三个层级判断,第一层遍历表内所有Shapes对象,第二层判断是不是表单对象,第三层判断对象类型,最内层就是自己要执行的代码,过程或函数。

欢迎大家来到IT世界,在知识的湖畔探索吧!

制做Excel 表格的时候,有一些高级功能,需要添加一些表单控件或Activex控件来增加表格的操作性。

有时候,我们需要对表单控件进行操作,那么如何来一一枚举出这些控件呢?

vba 编程,Excel 工作表如何枚举表单控件

下面介绍一下,枚举方法:

表单控件类型要判断表内shape对象type是否是msoFormControl

代码:If shp.Type = msoFormControl Then

然后再判断表单类型 FormControlType ,分别进行处理,或调用过程函数等。

表单类型

序号 名称 值 说明

1 xlButtonControl 0 按钮

2 xlCheckBox 1 复选框

3 xlDropDown 2 组合框

4 xlEditBox 3 文本框

5 xlGroupBox 4 分组框

6 xlLabel 5 标签

7 xlListBox 6 列表框

8 xlOptionButton 7 选项按钮

9 xlScrollBar 8 滚动条

10 xlSpinner 9 微调按钮

vba 编程,Excel 工作表如何枚举表单控件

完整代码

Private Sub CommandButton1_Click()Dim shp As ShapeFor Each shp In Me.Shapes '遍历表中shapes对象    If shp.Type = msoFormControl Then '如果是表单对象       Select Case shp.FormControlType '判断表单对象类型            Case xlEditBox                 MsgBox shp.Name            Case xlButtonControl                MsgBox shp.Name & " 是个按钮"               ' MsgBox shp.FormControlType               '这里添加去执行的过程或函数            Case xlLabel                MsgBox shp.Name & " 是个标签控件"             '   MsgBox shp.FormControlType             '这里可以设置相关属性             Case xlDropDown                MsgBox shp.Name & " 是个组合框"             Case xlListBox                MsgBox shp.Name & " 是个列表框"             Case xlCheckBox                MsgBox shp.Name & " 是个复选框"             Case xlOptionButton                MsgBox shp.Name & " 是个选项按钮"             Case xlGroupBox                MsgBox shp.Name & " 是个分组框"        End Select    End IfNext shpEnd Sub

欢迎大家来到IT世界,在知识的湖畔探索吧!

后台编程

vba 编程,Excel 工作表如何枚举表单控件

代码中有三个层级判断,第一层遍历表内所有Shapes对象,第二层判断是不是表单对象( msoFormControl),第三层判断对象类型(FormControlType),最内层就是自己要执行的代码,过程或函数。

这个解释大概就明白了,重要的是清楚表中所有元素是什么类型的,是表单控件还是Activex控件,是shape对象还是Chart对象,等等。

这种判断在控件比较少的情况下,运行速度比较接受,如果表内对象太多,控件数量很大,那么可能出现假死现象,就像程序没有任何反应,其实在疯狂遍历中。

如果这这篇文章对大家学习Excel 制作有用,可以

关注、收藏江觅

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/34774.html

(0)
上一篇 2023年 12月 6日 上午11:00
下一篇 2023年 12月 6日 下午6:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信