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

Rub*_*zzo 91 excel vba activex excel-2010 form-control

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

在此输入图像描述

他们之间有什么区别?

Sto*_*now 91

谷歌充满了这方面的信息.正如Hans Passant所说,Form控件内置于Excel中,而ActiveX控件则单独加载.

通常你会使用Forms控件,它们更简单.ActiveX控件允许更灵活的设计,并且应该在使用基本Forms控件无法完成工作时使用.

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

  • @Sam,我发现你的回答最有帮助。但也许你愿意在你的答案中添加一件事,这是我必须通过艰难的方式找到的。ActiveX 控件有时会“行为不当”并自动增大或调整大小。http://www.mrexcel.com/forum/excel-questions/393625-activex-controls-resizing-bug.html 或 http://blogs.technet.com/b/the_microsoft_excel_support_team_blog/archive/2012/11/27/ activex 和表单控件在单击时调整自身大小,进行打印预览或分辨率更改.aspx (2认同)

ili*_*ode 23

重要的一个重要区别是ActiveX控件显示为您可以在代码中使用的对象 - 尝试将ActiveX控件插入工作表,调出VBA编辑器(ALT + F11)并且您将能够访问控制编程.您无法使用表单控件执行此操作(必须将宏显式分配给每个控件),但表单控件更容易使用.如果你只是做一些简单的事情,那么你使用哪个并不重要,但对于更高级的脚本,ActiveX有更好的可能性.

ActiveX也更具可定制性.


mac*_*iej 5

还值得注意的是,ActiveX 控件仅适用于 Windows,而表单控件则适用于 Windows 和 MacOS 版本的 Excel。