使用Microsoft Excel 2010,我注意到可以插入到文档中的两种控件:表单控件和 ActiveX控件。
他们之间有什么区别?
答案 0 :(得分:84)
Google is full of information on this。正如Hans Passant所说,表单控件内置于Excel中,而 ActiveX 控件则单独加载。
通常,您将使用Forms
控件,它们更简单。 ActiveX
控件允许更灵活的设计,并且应该在使用基本Forms
控件无法完成作业时使用。
许多用户的计算机default won't trust ActiveX
,它将被禁用;这有时需要手动添加到信任中心。 ActiveX
是一种基于微软的技术,据我所知,Mac上不支持。如果您(或您提供工作簿的任何人)决定在Mac上使用它,您还必须考虑这一点。
答案 1 :(得分:22)
重要的一个重要区别是,ActiveX控件显示为您可以在代码中使用的对象 - 尝试将ActiveX控件插入工作表,调出VBA编辑器(ALT + F11),您将成为能够以编程方式访问控件。您无法使用表单控件执行此操作(必须将宏显式分配给每个控件),但表单控件更容易使用。如果你只是做一些简单的事情,那么你使用哪个并不重要,但对于更高级的脚本,ActiveX有更好的可能性。
ActiveX也更具可定制性。
答案 2 :(得分:1)
注意,在某些情况下,单击Form Control或Active X Control将为同一个宏提供两种不同的结果 - 不应该是这种情况。我发现Active X更可靠。
答案 3 :(得分:0)
同样值得注意的是ActiveX控件仅适用于Windows,而Form控件适用于Windows和MacOS版本的Excel。