Excel 2010中的“表单控件”和“ActiveX控件”有什么区别?
使用Microsoft Excel 2010,我注意到可以插入到文档中的两种控件: 窗体控件和ActiveX控件 。
他们有什么区别?
Google充满了这方面的信息 。 正如Hans Passant所说, 表单控件是内置到Excel中的,而ActiveX控件是分开加载的。
通常你会使用Forms
控件,它们更简单。 ActiveX
控件允许更加灵活的devise,当作业不能用基本的Forms
控件完成时应该使用。
许多用户的电脑在默认情况下不会信任 ActiveX
,并且会被禁用; 这有时需要手动添加到信任中心。 ActiveX
是一个基于微软的技术,据我所知,在Mac上不支持。 如果你(或者任何你提供工作簿的人)决定在Mac上使用它,你必须考虑这一点。
要知道一个重要的区别是,ActiveX控件显示为可以在代码中使用的对象 – 尝试将ActiveX控件插入到工作表中,调出VBA编辑器(ALT + F11),您将能够访问控制编程。 你不能用表单控件做这个(macros必须被明确地分配给每个控件),但是表单控件更容易使用。 如果你只是做一些简单的事情,你使用什么并不重要,但是对于更高级的脚本,ActiveX有更好的可能性。
ActiveX也是更可定制的。
要小心,在某些情况下,单击一个窗体控件或Active X控件将给同一个macros的两个不同的结果 – 不应该如此。 我发现Active X更可靠。