使用 Microsoft Excel 2010,我注意到可以插入到文档中的两种控件:表单控件和ActiveX 控件。
它们之间有什么区别?
使用 Microsoft Excel 2010,我注意到可以插入到文档中的两种控件:表单控件和ActiveX 控件。
它们之间有什么区别?
谷歌充满了这方面的信息。正如 Hans Passant 所说,表单控件内置于 Excel 中,而ActiveX控件是单独加载的。
通常你会使用Forms
控件,它们更简单。ActiveX
控件允许更灵活的设计,并且应该在无法使用基本Forms
控件完成工作时使用。
很多用户的电脑默认是不信任 ActiveX
的,会被禁用;这有时需要手动添加到信任中心。ActiveX
是一项基于微软的技术,据我所知,Mac 不支持。如果您(或您向其提供工作簿的任何人)决定在 Mac 上使用它,这也是您必须考虑的事情。
重要的一个重要区别是 ActiveX 控件显示为可以在代码中使用的对象 - 尝试将 ActiveX 控件插入工作表,打开 VBA 编辑器 (ALT + F11),您将能够访问以编程方式控制。您不能对表单控件执行此操作(必须改为将宏显式分配给每个控件),但表单控件更易于使用。如果您只是做一些简单的事情,那么您使用哪个并不重要,但对于更高级的脚本,ActiveX 有更好的可能性。
ActiveX 也更具可定制性。
还值得注意的是,ActiveX 控件仅适用于 Windows,而表单控件将适用于 Windows 和 MacOS 版本的 Excel。
请注意,在某些情况下,单击表单控件或 Active X 控件会为同一个宏给出两个不同的结果——情况并非如此。我发现 Active X 更可靠。