Excel 2010中的“表单控件”和“ ActiveX控件”有什么区别?


96

使用Microsoft Excel 2010,我注意到可以插入文档中的两种控件:表单控件ActiveX控件

在此处输入图片说明

它们之间有什么区别?


8
窗体控件被烘焙到Excel本身中。ActiveX控件是从单独的DLL加载的。您可以添加其他ActiveX控件,而不是窗体控件。
汉斯·帕桑

谢谢@HansPassant!据我了解,我应该从窗体控件开始,而无需依赖ActiveX控件就可以完成工作。
Rubens Mariuzzo

Answers:


96

Google对此有很多信息。正如Hans Passant所说,Form控件内置于Excel中,而ActiveX控件则是单独加载的。

通常,您将使用Forms控件,它们更简单。ActiveX控件允许更灵活的设计,当基本Forms控件无法完成工作时,应使用控件。

默认情况下, 许多用户的计算机不信任ActiveX,它将被禁用;有时需要手动将其添加到信任中心。ActiveX是基于Microsoft的技术,据我所知,Mac上不支持该技术。如果您(或您提供工作簿的任何人)决定在Mac上使用它,则还必须考虑这一点。


我一直在寻找这种答案/解释。现在,我了解了ActiveX上的窗体控件的优缺点。我将使用表单控件,同时可以使用它们完成工作。感谢山姆和感谢@HansPassant
Rubens Mariuzzo

没问题-很高兴能为您提供帮助。如果您对提供的答案感到满意,请记住标记为这样,这样其他人就会知道提供了答案。
StoriKnow

没问题,我经常耐心等待其他意见。
Rubens Mariuzzo

1
@Sam,我认为您的回答最有帮助。但是也许您愿意在我不得不找出困难的答案时再添加一件事。ActiveX控件有时会“行为不当”,并会自动增加或调整大小。mrexcel.com/forum/excel-questions/…blogs.technet.com/b/the_microsoft_excel_support_team_blog/…–
Ralph

1
有人在该mrexcel.com线程中发布了指向此StackOverflow线程excel的链接,该excel令人难以置信的收缩和扩展控件,其中对ActiveX控件的问题进行了很多讨论。
蒂姆·乔伊

26

要知道的一个主要区别是,ActiveX控件显示为可以在代码中使用的对象-尝试将ActiveX控件插入工作表中,调出VBA编辑器(ALT + F11),您将可以访问以编程方式进行控制。您不能使用表单控件执行此操作(必须将宏明确地分配给每个控件),但是表单控件更易于使用。如果您只是做简单的事情,那么使用哪个都没关系,但是对于更高级的脚本,ActiveX具有更好的可能性。

ActiveX也更具可定制性。


1

注意,在某些情况下,单击“窗体控件”或“ Active X控件”会为同一宏给出两个不同的结果-事实并非如此。我发现Active X更可靠。


13
如果您可以使用ActiveX / Form控件提供一个给出不同结果的宏,那将是一个答案。
雅克·高丁

1

还值得注意的是,ActiveX控件仅在Windows中可用,而窗体控件将在Windows和MacOS版本的Excel上均可使用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.