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

96

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

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

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

Рубенс Мариуццо
источник
8
Элементы управления формы встроены в сам Excel. Элементы управления ActiveX загружаются из отдельных библиотек DLL. Вы можете добавить дополнительные элементы управления ActiveX, но не элементы формы.
Hans Passant
Спасибо, @HansPassant! Насколько я понимаю, я должен начать с элемента управления формой, в то время как работа может выполняться без использования элементов управления ActiveX.
Рубенс Мариуццо

Ответы:

96

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

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

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

StoriKnow
источник
Я искал такой ответ / объяснение. Теперь я понимаю плюсы и минусы элементов управления формой над ActiveX. Я буду использовать элементы управления формами, пока с ними можно будет работать. Спасибо, Сэм, и спасибо @HansPassant
Рубенс Мариуццо
Нет проблем - рад помочь. Если вы удовлетворены предоставленным ответом, помните, что это так, чтобы другие знали, что ответ был предоставлен.
StoriKnow
Нет проблем, я терпелив и жду других мнений.
Рубенс Мариуццо
1
@Sam, я считаю ваш ответ очень полезным. Но, возможно, вы захотите добавить к своему ответу еще одну вещь, которую мне пришлось выяснить на собственном горьком опыте. Элементы управления ActiveX иногда «ведут себя неправильно» и автоматически увеличивают или изменяют размер. mrexcel.com/forum/excel-questions/… или blogs.technet.com/b/the_microsoft_excel_support_team_blog/…
Ральф
1
Кто-то разместил в этой ветке mrexcel.com обратную ссылку на эту ветку StackOverflow excel-the-incredible-shrinking-and-expanding-controls, в которой много говорится о проблемах с элементами управления ActiveX.
Тим Джой T-Square Consulting
26

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

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

iliketocode
источник
1

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

JLG
источник
13
Это был бы ответ, если бы вы могли предоставить макрос, который дает разные результаты с элементом управления ActiveX / Form.
Жак Годен
1

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

Maciej
источник