В чем разница между элементами управления формы и элементом управления ActiveX в Excel 2010?

Используя Microsoft Excel 2010, я заметил два типа элементов управления, которые можно вставить в документ: Элементы управления формы и Элементы управления ActiveX.

введите описание изображения здесь

В чем разница между ними?


person Rubens Mariuzzo    schedule 16.03.2013    source источник
comment
Элементы управления формы встроены в сам Excel. Элементы управления ActiveX загружаются из отдельных библиотек DLL. Вы можете добавить дополнительные элементы управления ActiveX, но не элементы формы.   -  person Hans Passant    schedule 17.03.2013
comment
Спасибо, @HansPassant! Насколько я понимаю, мне следует начать с элемента управления формой, в то время как работа может выполняться, не полагаясь на элементы управления ActiveX.   -  person Rubens Mariuzzo    schedule 18.03.2013
comment
См. Мой подробный ответ здесь: Обзор различий между элементами управления формы и элементами управления ActiveX в Excel   -  person ashleedawg    schedule 12.10.2018


Ответы (4)


Google полон информации по этому поводу. Как сказал Ханс Пассан, элементы управления формы встроены в Excel, тогда как элементы управления ActiveX загружаются отдельно.

Обычно вы будете использовать Forms элементы управления, они проще. ActiveX элементы управления обеспечивают более гибкий дизайн и должны использоваться, когда работа просто не может быть выполнена с помощью базового Forms элемента управления.

Компьютеры многих пользователей с помощью по умолчанию не будет доверять ActiveX и будет отключен; иногда это необходимо вручную добавить в центр доверия. ActiveX - это технология на базе Microsoft, и, насколько мне известно, она не поддерживается на Mac. Это то, что вам также нужно учитывать, если вы (или кто-либо, кому вы предоставляете книгу) решите использовать ее на Mac.

person StoriKnow    schedule 18.03.2013
comment
Я искал такой ответ / объяснение. Теперь я понимаю плюсы и минусы элементов управления формой над ActiveX. Я буду использовать элементы управления формами, пока с ними можно будет работать. Спасибо, Сэм, и спасибо @HansPassant - person Rubens Mariuzzo; 18.03.2013
comment
Нет проблем - рад помочь. Если вы удовлетворены предоставленным ответом, не забудьте отметить «как так», чтобы другие знали, что ответ был предоставлен. - person StoriKnow; 18.03.2013
comment
Нет проблем, я терпелив и жду других мнений. - person Rubens Mariuzzo; 19.03.2013
comment
@Sam, я считаю, что ваш ответ очень полезен. Но, возможно, вы захотите добавить к своему ответу еще одну вещь, которую мне пришлось выяснить на собственном горьком опыте. Элементы управления ActiveX иногда работают неправильно и автоматически увеличивают или изменяют размер. mrexcel.com/forum/excel-questions/ или blogs.technet.com/b/the_microsoft_excel_support_team_blog/ - person Ralph; 02.04.2015
comment
Кто-то разместил в этой ветке mrexcel.com обратную ссылку на эту ветку StackOverflow excel- the-incredible-shrinking-and-expanding-controls, в которой много говорится о проблемах с элементами управления ActiveX. - person Tim Joy T-Square Consulting; 17.07.2017

Одно из основных различий, о котором важно знать, заключается в том, что элементы управления ActiveX отображаются как объекты, которые вы можете использовать в своем коде. Попробуйте вставить элемент управления ActiveX в рабочий лист, откройте редактор VBA (ALT + F11), и вы сможете получить доступ управление программно. Вы не можете сделать это с помощью элементов управления формы (вместо этого макросы должны быть явно назначены каждому элементу управления), но элементы управления формы немного проще в использовании. Если вы просто делаете что-то простое, не имеет значения, что вы используете, но для более сложных сценариев ActiveX имеет лучшие возможности.

ActiveX также более настраиваемый.

person iliketocode    schedule 04.09.2014

Также стоит отметить, что элементы управления ActiveX работают только в Windows, тогда как элементы управления формами будут работать в версиях Excel как для Windows, так и для MacOS.

person maciej    schedule 12.04.2018

Будьте осторожны, в некоторых случаях нажатие на Form Control или Active X Control даст два разных результата для одного и того же макроса, чего не должно быть. Я считаю Active X более надежным.

person JLG    schedule 01.03.2017
comment
Это был бы ответ, если бы вы могли предоставить макрос, который дает разные результаты с элементом управления ActiveX / Form. - person Jacques Gaudin; 01.03.2017