Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“与”的区别是什么;“表格控件”;及;ActiveX控件";在Excel 2010中?_Excel_Vba_Excel 2010_Activex_Form Control - Fatal编程技术网

“与”的区别是什么;“表格控件”;及;ActiveX控件";在Excel 2010中?

“与”的区别是什么;“表格控件”;及;ActiveX控件";在Excel 2010中?,excel,vba,excel-2010,activex,form-control,Excel,Vba,Excel 2010,Activex,Form Control,使用MicrosoftExcel2010,我注意到两种可以插入文档的控件:表单控件和ActiveX控件 它们之间有什么区别。正如Hans Passant所说,表单控件内置于Excel中,而ActiveX控件是单独加载的 通常,您将使用表单控件,它们更简单ActiveX控件允许更灵活的设计,当无法使用基本的Forms控件完成工作时,应使用这些控件 许多用户的计算机通过ActiveX,它将被禁用;有时需要手动将其添加到信任中心ActiveX是一种基于microsoft的技术,据我所知,Mac不支持

使用MicrosoftExcel2010,我注意到两种可以插入文档的控件:表单控件和ActiveX控件

它们之间有什么区别。正如Hans Passant所说,表单控件内置于Excel中,而ActiveX控件是单独加载的

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


许多用户的计算机通过
ActiveX
,它将被禁用;有时需要手动将其添加到信任中心
ActiveX
是一种基于microsoft的技术,据我所知,Mac不支持。如果你(或任何你提供工作簿的人)决定在Mac上使用它,你还必须考虑这个问题。

< P> >一个主要的区别,重要的是要知道ActiveX控件显示为你可以在代码中使用的对象——试着将ActiveX控件插入到工作表中,生成VBA编辑器(ALT+F11)。您将能够通过编程方式访问控件。表单控件不能这样做(宏必须显式分配给每个控件),但表单控件更易于使用。如果您只是在做一些简单的事情,那么使用哪种并不重要,但是对于更高级的脚本,ActiveX有更好的可能性


ActiveX也更具可自定义性。

请小心,在某些情况下,单击表单控件或活动X控件将为同一宏提供两种不同的结果,但事实并非如此。我发现activex更可靠

还值得注意的是,ActiveX控件仅在Windows中工作,而窗体控件将在Windows和MacOS版本的Excel中工作。

窗体控件将烘焙到Excel中。ActiveX控件是从单独的DLL加载的。您可以添加额外的ActiveX控件,而不是表单控件。谢谢@HansPassant!据我所知,我应该从表单控件开始,而这项工作可以在不依赖ActiveX控件的情况下完成。现在我了解了表单控件相对于ActiveX的优缺点。我将使用表单控件,而工作可以用它们来完成。谢谢Sam,谢谢@Hanspassant没问题-很高兴能帮上忙。如果您对提供的答案感到满意,请记住按原样标记,这样其他人就知道提供了答案。没问题,我习惯耐心等待其他意见。@Sam,我觉得您的答案最有帮助。但也许你愿意在你的回答中再加一件事,我必须找到困难的答案。ActiveX控件有时会“行为不端”,并自动调整大小。或者有人在该mrexcel.com线程中发布了一个指向该StackOverflow线程的链接,该线程对ActiveX控件的问题进行了大量讨论。如果您可以提供一个使用ActiveX/Form控件产生不同结果的宏,这将是一个答案。