欢迎大家来到IT世界,在知识的湖畔探索吧!
制做Excel 表格的时候,有一些高级功能,需要添加一些表单控件或Activex控件来增加表格的操作性。
有时候,我们需要对表单控件进行操作,那么如何来一一枚举出这些控件呢?
下面介绍一下,枚举方法:
表单控件类型要判断表内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 微调按钮
完整代码
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世界,在知识的湖畔探索吧!
后台编程
代码中有三个层级判断,第一层遍历表内所有Shapes对象,第二层判断是不是表单对象( msoFormControl),第三层判断对象类型(FormControlType),最内层就是自己要执行的代码,过程或函数。
这个解释大概就明白了,重要的是清楚表中所有元素是什么类型的,是表单控件还是Activex控件,是shape对象还是Chart对象,等等。
这种判断在控件比较少的情况下,运行速度比较接受,如果表内对象太多,控件数量很大,那么可能出现假死现象,就像程序没有任何反应,其实在疯狂遍历中。
如果这这篇文章对大家学习Excel 制作有用,可以
关注、收藏江觅
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/34774.html