近期,有同事非要在EXCEL里实现复选框显示/隐藏特定数行的功能,在帮助其实现过程当中发现,颇有必要了解表单控件和ACTIVEX控件的区分。设计模式
首先,要记住一个网址:http://www.excelhome.net/,可能作软件开发的会以为这些内容很LOW,确实,我也这样感受,由于如今有OA,有DB,有ERP,单纯的EXCEL应用时代已是历史了。可是,若是有客户须要,也仍是要知足的,个人同事也是个人工做客户。下面是一些区分:编辑器
表单控件字体
表单控件是与早期版本的 Excel(从 Excel 5.0 版开始)兼容的原始控件。spa
适用于:在 XLM 宏工做表中使用。.net
在不使用 VBA 代码的状况下,引用单元格数据并与其进行交互。设计
向图表工做表中添加控件。excel
运行宏:能够将现有宏附加到控件,也能够编写或录制新宏。当表单用户单击控件时,该控件会运行宏。code
然而,不能将这些控件添加到用户表单中,不能使用它们控制事件,也不能修改它们以在网页中运行 Web 脚本。
ActiveX 控件orm
一种控件,向用户提供选项或运行使任务自动化的宏或脚本。可在 Microsoft Visual Basic for Applications 中编写控件的宏或在 Microsoft 脚本编辑器中编写脚本。对象
适用于:可用于工做表表单(使用或不使用 VBA 代码)和 VBA 用户表单。一般,若是相对于表单控件所提供的灵活性,您的设计须要更大的灵活性,则使用
ActiveX 控件。ActiveX 控件具备大量可用于自定义其外观、行为、字体及其余特性的属性。用户与控件进行交互时,VBA 代码会随之运行以处理针对
该控件发生的任何事件。并不是全部 ActiveX 控件均可以直接用于工做表;有些 ActiveX 控件只能用于 Visual Basic for Applications (VBA) (Visual Basic
for Applications (VBA):Microsoft Visual Basic 的宏语言版本,用于编写基于 Microsoft Windows 的应用程序,内置于多个 Microsoft 程序中。) 用户表单。
若是您尝试向工做表中添加这些特殊 ActiveX 控件中的任何一个控件,Excel 都会显示消息“不能插入对象”。
没法从用户界面将 ActiveX 控件添加到图表工做表。
没法将其添加到 XLM 宏工做表。
不能像在表单控件中同样指定要直接从 ActiveX 控件运行的宏。
主要区别
表单控件能够和单元格关联,操做控件能够修改单元格的值,因此用于工做表,而
ACTIVEX控件虽然属性强大,可控性强,但不能和单元格关联,因此用于表单Form。
以组合框为例
外观上,他们是不同的,建立完毕后以下图所示
ActiveX 控件 在设计模式下能够看到属性(如控件名,CAPTION),而表单控件的属性窗口和用户表单看到的是同样的,没有控件名之类设计用属性。
在代码方面,表单控件和ActiveX 控件引用的路径不同。