admin 管理员组

文章数量: 1086019


2024年4月18日发(作者:linux的vim三种模式)

Excel中的窗体控件和ActiveX控件

2009年1月21日

评论 发表评论

Excel中有两种不同的控件。一种是窗体工具条控件(Forms toolbar controls),通

过点击菜单“视图”->“工具栏”,在弹出菜单上选择“窗体”,将出现“窗体”工具条

控件窗口。另外一种是ActiveX控件,通过点击菜单“视图”->“工具栏”,在弹出菜单

上选择“控件工具箱”(也可以选择“Visual Basic”,然后再在工具栏上选择“控件工具

箱”),将出现“控件工具箱”窗口。

窗口工具条控件是Excel5和Excel95留下来的东西(在Excel 97后的版本中,添加

一个Dialog Sheet后,将可以看到这个窗体工具条窗口),从Excel 97开始,Dialog Sheet

被UserForm代替,并且开始使用ActiveX控件。

从某些角度来讲,窗体控件甚至比ActiveX控件更有优势。

1. 如果你需要在Chart工作表中添加控件,只能使用窗体工具条控件。

2. 更加方便使用VBA代码创建窗体控件以及定义事件过程。

3. 窗体控件的事件过程可以放在标准模块,可以使用任何有效的VBA过程名称,可以

在控件创建之前就创建事件过程。

4. 可以给多个控件赋于一个相同的过程。

5. 可以使用来获取窗体控件的名称。

窗体控件比ActiveX控件简单,基本上只有一个Click事件。而ActiveX控件可以响

应丰富的事件,ActiveX控件的事件只能放在控件所在的类模块(工作表模块)或窗体模

块。过程名称由控件名和事件名称组成。如果你在控件不存在的时候就创建这个控件的事

件过程,然后再在代码中引用这个控件,将会出现编译错误,所以必须使用代码创建事件

过程。

在VBA中控制窗体控件的方法有点不同,可以使用对象名称,但这些对象名称在对象

浏览器中被隐藏,这样输入代码时没有方法和属性提示(你可以在“对象浏览器”的“类”

一栏中单击右键,然后选择“显示隐含成员”查看这些窗体控件)。另外有一个简单的方法

就是所有的窗体控件都用DrawingObjects来表示。

下面就是窗体控件的示例代码,相对应的控件从字面上很容易理解。对于复选框和选

项按钮,赋值xlOn给Value属性表示选择,赋值xlOff则表示取消选择。下拉和列表框的


本文标签: 控件 窗体 选择 事件 使用