Excel 表单控件和ACTIVEX控件有什么区别
下面介绍下区别:
1、表单控件
表单控件是与早期版本的 Excel(从 Excel 5.0 版开始)兼容的原始控件。表单控件还适于在 XLM 宏工作表中使用。
1)如果希望在不使用 VBA 代码的情况下轻松引用单元格数据并与其进行交互,或者希望向图表工作表 (图表工作表:工作簿中只包含图表的工作表。当希望单独查看图表或数据透视图(独立于工作表数据或数据透视表)时,图表工作表非常有用。)中添加控件,则使用表单控件。例如,在向工作表中添加列表框控件并将其链接到某个单元格后,可以为控件中所选项目的当前位置返回一个数值。接下来,可以将该数值与 INDEX 函数结合使用以从列表中选择不同的项目。
2)还可以使用表单控件来运行宏。可以将现有宏附加到控件,也可以编写或录制新宏。当表单用户单击控件时,该控件会运行宏。然而,不能将这些控件添加到用户表单中,不能使用它们控制事件,也不能修改它们以在网页中运行 Web 脚本。
2、ActiveX 控件
1)(ActiveX 控件:一种控件,如复选框或按钮,向用户提供选项或运行使任务自动化的宏或脚本。可在 Microsoft Visual Basic for Applications 中编写控件的宏或在 Microsoft 脚本编辑器中编写脚本。)可用于工作表表单(使用或不使用 VBA 代码)和 VBA 用户表单。通常,如果相对于表单控件所提供的灵活性,设计需要更大的灵活性,则使用 ActiveX 控件。ActiveX 控件具有大量可用于自定义其外观、行为、字体及其他特性的属性。
2)还可以控制与 ActiveX 控件进行交互时发生的不同事件。例如,可以执行不同的操作,具体取决于用户从列表框控件中所选择的选项;还可以查询数据库以在用户单击某个按钮时用项目重新填充组合框。还可以编写宏来响应与 ActiveX 控件关联的事件。表单用户与控件进行交互时,VBA 代码会随之运行以处理针对该控件发生的任何事件。
3)计算机还包含由 Excel 和其他程序安装的多个 ActiveX 控件,如 Calendar Control 12.0 和 Windows Media Player。
3、要点
并非所有 ActiveX 控件都可以直接用于工作表;有些 ActiveX 控件只能用于 Visual Basic for Applications (VBA) (Visual Basic for Applications (VBA):Microsoft Visual Basic 的宏语言版本,用于编写基于 Microsoft Windows 的应用程序,内置于多个 Microsoft 程序中。) 用户表单。如果尝试向工作表中添加这些特殊 ActiveX 控件中的任何一个控件,Excel 都会显示消息“不能插入对象”。
4、然而,无法从用户界面将 ActiveX 控件添加到图表工作表,也无法将其添加到 XLM 宏工作表。此外,不能像在表单控件中一样指定要直接从 ActiveX 控件运行的宏。