У чому різниця між «Елементами керування формою» та «Елементом керування ActiveX» в Excel 2010?


96

Використовуючи Microsoft Excel 2010, я помітив два види елементів керування, які можна вставити в документ: елементи керування формою та елементи керування ActiveX .

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

У чому різниця між ними?


8
Елементи керування Формою запечені в самому Excel. Елементи керування ActiveX завантажуються з окремих бібліотек DLL. Ви можете додати додаткові елементи керування ActiveX, а не елементи керування формою.
Ганс Пасант,

Дякую @HansPassant! Наскільки я розумію, мені слід почати з контролю форм, поки роботу можна виконати, не покладаючись на елементи керування ActiveX.
Рубенс Маріуццо,

Відповіді:


96

Google має повну інформацію про це . Як сказав Ганс Пасант, елементи керування формою вбудовані в Excel, тоді як елементи керування ActiveX завантажуються окремо.

Як правило, ви будете використовувати Formsелементи управління, вони простіші. ActiveXелементи управління дозволяють більш гнучку конструкцію і повинні використовуватися, коли роботу просто неможливо виконати за допомогою базового елемента Formsуправління.

Багато комп'ютерів користувачів за замовчуванням не довіряють ActiveX , і вони будуть вимкнені; це іноді потрібно додавати вручну до центру довіри. ActiveXє технологією на базі Microsoft і, наскільки мені відомо, не підтримується на Mac. Це вам доведеться також врахувати, якщо ви (або хтось, кому ви надаєте книгу) вирішите використовувати її на Mac.


Я шукав такого роду відповіді / пояснення. Тепер я розумію плюси і мінуси елементів керування формою над 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-невероятно- сжимающийся и расширяющийся -контроль, в якому багато дискутується про проблеми з елементами управління ActiveX.
Tim Joy T-Square Consulting

26

Однією з основних відмінностей, яку важливо знати, є те, що елементи керування ActiveX відображаються як об’єкти, які ви можете використовувати у своєму коді - спробуйте вставити елемент керування ActiveX у робочий аркуш, відкрийте редактор VBA (ALT + F11), і ви матимете доступ контроль програмно. Це неможливо зробити за допомогою елементів керування формою (натомість макроси повинні бути явно призначені кожному елементу керування), але елементи керування формою трохи простіші у використанні. Якщо ви просто робите щось просте, не має значення, який ви використовуєте, але для більш просунутих сценаріїв ActiveX має кращі можливості.

ActiveX також є більш настроюваним.


1

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


13
Це було б відповіддю, якщо б ви могли надати макрос, що дає різні результати, за допомогою елемента керування ActiveX / Form.
Jacques Gaudin

1

Варто також зазначити, що елементи керування ActiveX працюють лише в Windows, тоді як елементи керування Form будуть працювати як у версіях Excel, так і в Windows.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.