Excel 表单控件和ACTIVEX控件有什么区别

2024-11-15 18:44:02
推荐回答(2个)
回答1:

表单控件
表单控件是与早期版本的 Excel(从 Excel 5.0 版开始)兼容的原始控件。表单控件还适于在 XLM 宏工作表中使用。

如果您希望在不使用 VBA 代码的情况下轻松引用单元格数据并与其进行交互,或者希望向图表工作表 (图表工作表:工作簿中只包含图表的工作表。当希望单独查看图表或数据透视图(独立于工作表数据或数据透视表)时,图表工作表非常有用。)中添加控件,则使用表单控件。例如,在您向工作表中添加列表框控件并将其链接到某个单元格后,可以为控件中所选项目的当前位置返回一个数值。接下来,可以将该数值与 INDEX 函数结合使用以从列表中选择不同的项目。

您还可以使用表单控件来运行宏。可以将现有宏附加到控件,也可以编写或录制新宏。当表单用户单击控件时,该控件会运行宏。

然而,不能将这些控件添加到用户表单中,不能使用它们控制事件,也不能修改它们以在网页中运行 Web 脚本。

ActiveX 控件(ActiveX 控件:一种控件,如复选框或按钮,向用户提供选项或运行使任务自动化的宏或脚本。可在 Microsoft Visual Basic for Applications 中编写控件的宏或在 Microsoft 脚本编辑器中编写脚本。)可用于工作表表单(使用或不使用 VBA 代码)和 VBA 用户表单。通常,如果相对于表单控件所提供的灵活性,您的设计需要更大的灵活性,则使用 ActiveX 控件。ActiveX 控件具有大量可用于自定义其外观、行为、字体及其他特性的属性。

您还可以控制与 ActiveX 控件进行交互时发生的不同事件。例如,您可以执行不同的操作,具体取决于用户从列表框控件中所选择的选项;还可以查询数据库以在用户单击某个按钮时用项目重新填充组合框。您还可以编写宏来响应与 ActiveX 控件关联的事件。表单用户与控件进行交互时,VBA 代码会随之运行以处理针对该控件发生的任何事件。

您的计算机还包含由 Excel 和其他程序安装的多个 ActiveX 控件,如 Calendar Control 12.0 和 Windows Media Player。

要点 并非所有 ActiveX 控件都可以直接用于工作表;有些 ActiveX 控件只能用于 Visual Basic for Applications (VBA) (Visual Basic for Applications (VBA):Microsoft Visual Basic 的宏语言版本,用于编写基于 Microsoft Windows 的应用程序,内置于多个 Microsoft 程序中。) 用户表单。如果您尝试向工作表中添加这些特殊 ActiveX 控件中的任何一个控件,Excel 都会显示消息“不能插入对象”。

然而,无法从用户界面将 ActiveX 控件添加到图表工作表,也无法将其添加到 XLM 宏工作表。此外,您不能像在表单控件中一样指定要直接从 ActiveX 控件运行的宏。
以上资料来自于:http://club.excelhome.net/thread-772361-1-1.html

回答2:

表单控件(早期版本中为窗体控件):只能在工作表中添加和使用;并且只能通过设置控件格式或者指定宏来使用它;
ActiveX控件:不仅可以在工作表中使用,还可以在用户窗体中使用,并且具备了众多的属性和事件,提供了更多的使用方式。