Обзор различий между элементами управления формы и элементами ActiveX в Excel

Почему 2 вида управления доступно в Excel? (2 кнопки, 2 поля со Списком, 2 флажка и т. д...)

в чем разница между Формы Контроля и Элементы Управления ActiveX? Какой из них мне использовать?

некоторые примеры кода я нахожу онлайн-работу с моими элементами управления, но другие нет. Почему?

Как работать с каждым типом, и как я могу сказать разница?

1 ответов


существует [вечная] путаница вокруг два типы элементов управления, доступных для Excel-усугубляется контрастным терминология используется различными онлайн-источниками.

это только общий обзор различий между Управления и Элементы Управления ActiveX (на основе моих старых заметок, которые помогли мне, наконец, выяснить различия!) Посетите включенные ссылки для более подробной информации информация о каждом элементе управления, включая код и примеры проектов. ☺

(адаптировано из моего оригинального поста здесь - теперь закрытый)


описание:

  • здесь два типы управления: управления и элементы управления ActiveX:

    • и типы элементов управления могут использоваться на рабочих листах но!--18-->только ActiveX элементы управления можно использовать на пользовательские формы.

    • элементы управления формы являются частью формы коллекция (так же, как объекты рисования), и, таким образом, называются как: *<code>worksheet</code>* **<code>.</code> <code>Shapes("</code>** *<code>controlname</code>* **<code>")</code>**

    • элементы управления ActiveX в основном являются частью рабочего листа и поэтому называются как:
      *<code>worksheet</code>* **<code>.</code>** *<code>controlname</code>*

    • и типы элементы управления могут быть созданы, изменены и удалены с листа или программно с помощью VBA, однако 2 типа элементов управления имеют слегка изменяющийся синтаксис при использовании VBA для ссылки на них.

  • некоторые сайты обсуждают также обсудить Форма Сведения. Это не более чем userform сделано специально для ввода данных / манипуляции данными, поэтому было бы разумнее называть их (более знакомыми звучание) "Ввод Данных Userform".

  • офисная документация также иногда ссылается на лист как форма. Пока это технически правильно, не позволяйте этому сбить вас с толку. Подумайте о том, что слово "форма" используется в общий смысл:

    dictionary image: form


два типа Управление

  1. Управления

  2. Элементы Управления ActiveX

эти двое выглядят, ведут себя и управляются одинаково, но не одинаково. (List здесь.)

например, давайте сравним два типа Полей. В некоторых языках программирования сопоставимые элементы управления называются "выпадающее меню" или "выпадающий список". В Excel, у нас есть "Поле Со Списком Управления Формой" и "Поле Со Списком Элементов Управления ActiveX":

compare control types (нажмите изображение для увеличения.)

" имя по умолчанию " применяется к элементам управления, созданным вручную. Элементы управления, созданные программным способом, не имеют (или не требуют) имени по умолчанию и поэтому должны иметь его назначается сразу после создания.


differences between controls

(источник: мой ответ:)


Контроль Наличия

это изображение ниже показывает, какие общие элементы управления вообще доступно для использования в рабочих листах и формах пользователей.

chart of controls

другие факторы могут повлиять на контроль доступность.


об элементах ActiveX и связанной с ними безопасности Заботы

элемент управления ActiveX является расширение на панель инструментов VBA. Элементы ActiveX используются так же, как и стандартные встроенные элементы управления, например элемент управления CheckBox. При добавлении элемента управления ActiveX в приложение он становится частью среды разработки и выполнения и предоставляет новые функциональные возможности для приложения.

  • элемент управления ActiveX реализуется как сервер в процессе (обычно небольшой объект), который может использоваться в любом контейнере OLE. Обратите внимание, что полная функциональность элемента управления ActiveX доступна только при использовании в контейнере OLE, предназначенном для управления ActiveX.

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

    example
    (источник: этой и этой)

Читайте также:


Кнопки Выбора (Радиокнопки)

в Excel два типа переключателей фактически называются Пуговицы!--19-->. Чтобы еще больше запутать дело:

  • имя элемента управления формы по умолчанию -OptionButton1.

  • имя элемента управления ActiveX по умолчанию -Option Button 1.

хороший способ отличить их-открыть список свойств элемента управления (на ленте под вкладкой разработка или щелкнув правой кнопкой мыши элемент управления и выбрав Properties, или нажав Ф4), потому что ActiveX control имеет гораздо больше опций, чем более простой контроль формы.

опции кнопки и флажки могут быть связаны друг с другом (так что только один вариант может быть выбран из группы), поместив их в общий Группы.

выберите элемент управления и затем, удерживая Ctrl при выборе каждого из других элементов управления, которые вы хотите сгруппировать. Щелкните правой кнопкой мыши элемент управления group box и выберите GroupingGroup.

первые две ссылки ниже являются отдельными наборами инструкций для обработки каждого типа кнопки опции.


ОБРАБОТКА СОБЫТИЙ УПРАВЛЕНИЯ:

события управления формой (Click событие только)

события управления формой могут реагировать только на одно событие:the Click событие. (Подробнее здесь.) Обратите внимание, что этот раздел не применяется к userforms так как они используют только элементы управления ActiveX.

чтобы добавить процедуру для Click событие: