Получите сведения о работе с элементами ActiveX в файлах, изменении их параметров, а также о включении и отключении их с помощью панели сообщений и центра управления безопасностью. Кроме того, вы можете получить дополнительные сведения об элементах ActiveX и о том, как они позволяют улучшить файлы.
ИТ-специалисты могут найти дополнительные сведения о планировании элементов ActiveX в статье TechNet Планирование параметров безопасности для элементов управления ActiveX в приложениях Office 2010.
В этой статье
-
Включение элементов ActiveX при появлении панели сообщений
-
Включение элементов ActiveX на один раз при появлении предупреждения системы безопасности
-
Изменение параметров элементов ActiveX в Word, Access, Excel, PowerPoint, Publisher и Visio
-
Описание параметров элементов ActiveX
-
Что представляет собой элемент ActiveX, и какие риски с ним связаны
-
Риск и возможные последствия
Включение элементов ActiveX при появлении панели сообщений
При открытии файла с элементами ActiveX появляется желтая панель сообщений со значком щита и кнопкой Включить содержимое. Если известно, что источник элементов является надежным, воспользуйтесь описанными ниже инструкциями.
-
В области Панель сообщений нажмите кнопку Включить содержимое.
Файл откроется в качестве надежного документа.
На приведенном ниже рисунке показан пример панели сообщений, если в файле есть элементы ActiveX.
К началу страницы
Включение элементов ActiveX в представлении Backstage
Другой способ включения элементов ActiveX в файле — с помощью представления Microsoft Office Backstage, которое появляется после открытия вкладки Файл при отображении желтой панели сообщений.
-
Откройте вкладку Файл.
-
В области Предупреждение системы безопасности нажмите кнопку Включить содержимое.
-
В разделе Включить все содержимое выберите команду Всегда включать активное содержимое данного документа.
Файл станет надежным документом.
На приведенном ниже рисунке показаны команды Всегда включать активное содержимое этого документа и Дополнительные параметры.
На приведенном ниже рисунке показаны команды группы Включить содержимое.
Примечание: Исключение составляют элементы ActiveX с флагом блокировки. Такие элементы ActiveX не запускаются. Флаг блокировки — это функция безопасности, которая запрещает элементу ActiveX использовать код ActiveX, например устраняя уязвимость в системе безопасности или предотвращая запуск кода.
К началу страницы
Включение элементов ActiveX на один раз при появлении предупреждения системы безопасности
Выполнив приведенные ниже инструкции, можно включить элементы управления на то время, пока открыт файл. Если закрыть файл и открыть его снова, предупреждение появится опять.
-
Откройте вкладку Файл.
-
В области Предупреждение системы безопасности нажмите кнопку Включить содержимое.
-
Выберите элемент Дополнительные параметры .
-
В диалоговом окне Параметры безопасности Microsoft Office выберите команду Включить содержимое для этого сеанса для каждого элемента ActiveX.
На приведенном ниже рисунке показана область Предупреждения системы безопасности, если элементы ActiveX можно включить на то время, пока открыт файл.
Примечания:
-
Если файл содержит проект Visual Basic для приложений (VBA), например файл Microsoft Excel с поддержкой макросов, центр управления безопасностью налагает более жесткие ограничения, поскольку такой файл может содержать макросы.
-
Элементы ActiveX и другой активный контент следует включать только в том случае, если точно известно, что они получены из надежного источника.
К началу страницы
Изменение параметров элементов ActiveX в Word, Access, Excel, PowerPoint, Publisher и Visio
Выполнив приведенные ниже инструкции, можно включить или отключить элементы ActiveX в центре управления безопасностью.
-
Выберите Файл > Параметры.
-
Выберите по очереди пункты Центр управления безопасностью, Параметры центра управления безопасностью и Параметры ActiveX.
-
Выберите нужные параметры и нажмите кнопку ОК.
Далее показан пример области Параметры ActiveX центра управления безопасностью.
Важно: При изменении параметра ActiveX в Word, Access, Excel, PowerPoint, Publisher или Visio аналогичные параметры изменяются и во всех остальных программах из этого списка.
К началу страницы
Описание параметров элементов ActiveX
Приведенные ниже объяснения относятся к элементам ActiveX, которые не находятся в надежном расположении или надежных документах.
Важно: Если документ является надежным и предупреждения безопасности о наличии элементов ActiveX или другого активного содержимого получать нежелательно, поместите этот документ в надежное расположение.
-
Отключить все элементы управления без уведомления. В документах будут отключены все элементы ActiveX.
-
Запрос перед включением элементов управления, инициализация которых считается небезопасной (UFI), с дополнительными ограничениями и элементов управления, инициализация которых считается безопасной (SFI), с минимальными ограничениями. Здесь возможны два варианта в зависимости от наличия проектов VBA projects.
-
При наличии проекта VBA. Все элементы ActiveX отключены, отображается панель сообщений. Чтобы включить элементы управления, нажмите кнопку Включить содержимое.
-
При отсутствии проекта VBA. Элементы ActiveX, инициализация которых считается безопасной SFI, включены с минимальными ограничениями, и панель сообщений не появляется. Чтобы не открывать панель сообщений, необходимо пометить все элементы ActiveX как SFI. Элементы ActiveX, инициализация которых считается небезопасной (UFI), отключены. Однако в случае включения элементов UFI они инициализируются с дополнительными ограничениями (например, значениями по умолчанию). Постоянные данные, являющиеся частью элементов UFI, будут потеряны.
-
-
Запрос перед включением всех элементов управления с минимальными ограничениями. Этот параметр установлен по умолчанию. Здесь возможны два варианта в зависимости от наличия проектов VBA.
-
При наличии проекта VBA. Все элементы ActiveX отключены, отображается панель сообщений. Чтобы включить элементы управления, нажмите кнопку Включить содержимое.
-
-
При отсутствии проекта VBA. Элементы ActiveX, инициализация которых считается безопасной (SFI), включены с минимальными ограничениями, и панель сообщений не появляется. Чтобы не открывать панель сообщений, необходимо пометить все элементы ActiveX как SFI. Элементы ActiveX, инициализация которых считается небезопасной (UFI), отключены. Однако в случае включения элементов UFI они инициализируются с минимальными ограничениями (например, постоянные значения или значения по умолчанию, если постоянные данные не существуют).
-
Включить все элементы управления без ограничений и запросов (не рекомендуется). Все элементы ActiveX в документах включаются с минимальными ограничениями.
-
Сейф режиме В ActiveX SFI можно включить элементы управления в безопасном режиме, то есть разработчик пометил их как безопасные.
К началу страницы
Что представляет собой элемент ActiveX и какие риски с ним связаны
Элементы ActiveX — это небольшие стандартные блоки, используемые для создания приложений, работающих через Интернет в веб-браузере. Примерами могут служить пользовательские приложения для сбора данных, просмотра файлов определенных типов и показа анимации. Обычно элементы ActiveX используются в кнопках, списках и диалоговых окнах. В программах Office также можно использовать элементы ActiveX для расширения функциональности документов.
К началу страницы
Риск и возможные последствия
Элементы ActiveX могут иметь неограниченный доступ к компьютеру и, следовательно, могут получить доступ к локальной файловой системе и изменить параметры реестра операционной системы. Если злоумышленник воспользуется элементом ActiveX, чтобы управлять компьютером, нежелательные последствия могут быть весьма серьезными.
К началу страницы
Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше
Компьютер содержит не только различные элементы управления формы, но и ActiveX, установленные Excel и другими программами, такими как Calendar Control 12.0 и проигрыватель Windows Media. При установке новых ActiveX элементов управления программа установки обычно регистрирует каждый из них на компьютере, что делает его доступным для Excel. Если его нет в списке, необходимо зарегистрировать его вручную.
Важно:
-
Не все ActiveX можно использовать непосредственно на этих ActiveX. некоторые из них можно использовать только в пользовательских Visual Basic для приложений (VBA). При работе с этими Excel отображается сообщение Не удается вставить объект при попытке добавить его на таблицу.
-
Чтобы можно было работать с другими ActiveX, необходимо включить на ленте вкладку «Разработчик». Дополнительные сведения см. в статье Отображение вкладки «Разработчик».
-
На вкладке Разработчик в группе Элементы управления нажмите кнопку Вставить, а затем в группе Элементы управления ActiveX выберитеэлемент управления или щелкните Другие элементы управления, чтобы просмотреть все доступные ActiveX элементы управления, а затем выберите элемент управления.
-
Щелкните на том месте, где должен отображаться ActiveX.
-
Чтобы изменить элемент управления, убедитесь, что выбран режим конструктора. На вкладке Разработчик в группе Элементы управления нажмите кнопку Режим конструктора.
-
Чтобы задать свойства элементов управления, на вкладке Разработчик в группе Элементы управления нажмите кнопку Свойства.
Совет: Можно также щелкнуть элемент управления правой кнопкой мыши и выбрать пункт Свойства.
Откроется диалоговое окно Свойства. Для получения дополнительных сведений о каждом свойстве выберите свойство и нажмите клавишу F1, чтобы отобразить соответствующий раздел справка по Visual Basic. Можно также ввести имя свойства в поле Поиск справки Visual Basic.
-
-
Щелкните ActiveX, который вы хотите зарегистрировать.
-
Убедитесь, что вы находитесь в режиме конструктора. На вкладке Разработчик в группе Элементы управления нажмите кнопку Режим конструктора .
-
На вкладке Разработчик в группе Элементы управления нажмите кнопку Вставить и в разделе Элементы ActiveX нажмите кнопку Другие элементы управления.
-
В нижней части диалогового окна Дополнительные элементы управления нажмите кнопку Зарегистрировать настраиваемые.
-
В диалоговом окне Регистрация настраиваемого управления найдите папку с файлом управления (расширением OCX-файла) или файлом библиотеки динамической ссылки (расширение .dll файла) для нужного управления.
-
Выберите файл для своего управления и нажмите кнопку Открыть.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Нужна дополнительная помощь?
Добавление или регистрация элемента ActiveX
Смотрите также Вопрос в том.. редакторе Visual Basic Для удобства также. Откройте вкладку нарисуйте его с, подумайте о том, вам полезна. Просим какой тип элемента от 1 до формулу =ПОИСКПОЗ($E$9; $G$9:$K$9;0)правой клавишей вызовите его Нужный элемент управления опции, делать выбор убедитесь, что выПримечание: как этого избежать?Выберите категориюВ редакторе Visual Basic напишите новый макрос.
приводим ссылку наAlphabetic помощью перетаскивания. чтобы использовать элемент вас уделить пару управления — просто 5 (т.е. от Если выбран 2009, контекстное меню, затем выбирается с помощью и пр. В находитесь в режимеМы стараемся какСпасибоПопулярные создайте новый илиДополнительные сведения о том, оригинал (на английском(По алфавиту) иСоветы: ActiveX «Список».
секунд и сообщить, просмотрев его. Определение
-
2009 до 2013 то формула вернет Формат объекта…, вкладка группы Переключателей. Название принципе, без них конструктора. На вкладке можно оперативнее обеспечиватьSerge_007, а затем в измените имеющийся макрос. как создавать макросы, языке) . измените нужные свойства. Упростите ввод данных для
-
помогла ли она типа элемента управления, года) + 6) 1. Элемент управления; выбранного элемента подсвечивается можно обойтись, но
Добавление элемента управления ActiveX
-
Разработчик вас актуальными справочными: 1. Параметр « разделеДополнительные сведения о том, обратитесь к справочнойЭлемент управления формы илиВот как можно настроитьЧтобы изменить размер поля, пользователей, позволив им вам, с помощью который вы работаете, совпадет с номеромДля определения ячейки строкив поле Формировать список серым цветом (см.
-
они делают управлениев группе материалами на вашем
-
Не перемещать и неОсновные параметры работы с как создавать макросы, системе Visual Basic. элемента управления ActiveX свойства поля со наведите указатель мыши выбирать значение из кнопок внизу страницы. щелкните правой кнопкой
-
текущего столбца (7, Количество, соответствующую выбранному по диапазону вводимA8:B8 данными на листеэлементы управления языке. Эта страница изменять размеры
Excel обратитесь к справочнойИзменение назначенного макроса можно автоматизировать, сделав списком на этом на один из поля со списком.
Для удобства также мыши элемент управления т.е. 2009 год); году используем формулу Список (вместо ссылкина рис. выше). более наглядным ивключите переведена автоматически, поэтому» установлен?установите флажок системе Visual Basic. Выполните одно из действий, следующее:
-
Регистрация элемента ActiveX
-
рисунке: маркеров изменения размера Поле со списком
-
приводим ссылку на и затем ОбратитеФлажок Условное форматирование установлен. =СМЕЩ($F$10;0;СмещГода). Формула вернет на ячейку мы Выбранный год выделяется уменьшают вероятность вводаРежим конструктора ее текст может 2. Лист с
-
Показывать вкладку «Разработчик» наКогда макрос будет создан, описанных ниже.Выполните действие или операцию,Настраиваемое свойство и перетащите границу состоит из текстового оригинал (на английском внимание на следующее:выберите требуемый формат, например, диапазон, состоящий из
-
ввели ссылку на в таблице Условным некорректных данных.. содержать неточности и кнопками защищён?
-
ленте выберите командуПравка назначенного макроса когда пользователь щелкаетДействие элемента управления до поля и списка, языке) .
-
Если контекстное меню содержит серый цвет заливки; одной ячейки. определенное Имя!). Конечно,
support.office.com
Элементы управления формы в MS EXCEL
форматированием темно серымДля вставки элементов управленияЧтобы задать свойства элемента грамматические ошибки. ДляЕсли на обаи нажмите кнопкуЗакрыть и вернуться в Щелкните имя макроса в элемент управления формыЦвет заливки достижения нужной высоты которые вместе образуютЕсли вам нужно отобразить командунажмите ОК.В поле Связь с
вместо имени можно цветом (см. на лист необходимо
- управления на вкладке нас важно, чтобы вопроса ответОК Microsoft Excel поле
- нужно назначить макрос.Щелкните свойство и ширины. раскрывающийся список. список значений, которыеНазначить макросубедимся, что флажок Условное ячейкой элемента Полоса было указать простоH9:H12 отобразить вкладку Разработчик.Разработчик эта статья былаДА
.в менюИмя макросаЗапустите Microsoft Visual Basic
BackColorЧтобы переместить поле соМожно добавить поле со сможет выбирать пользователь,, это элемент управления форматирование установлен; прокрутки нельзя ввести ссылку на диапазон;на рис. выше).В MS EXCEL 2007в группе вам полезна. Просим, то:Примечание:Файли нажмите кнопку для приложений (VBA)(Цвет фона), щелкните
списком на листе, списком одного из добавьте на лист формы.выберем переключатель Список; формулу, но можно,
- свяжем элемент с ячейкой
- Отображение этого выделения
- это можно сделать через
- элементы управления
- вас уделить пару
- 1. Для чего
Лента входит в Пользовательскийредактора Visual Basic.Правка позволяет обработать все стрелку вниз, откройте
Пример
выделите его и двух типов: элемент список.Совет:в элементе управления Список как мы уже$C$8 регулируется Флажком (фон меню Кнопка офис/ Параметрынажмите кнопку
секунд и сообщить, используются кнопки? интерфейс Microsoft OfficeПосле завершения разработки элемента. события, возникающие при вкладку перетащите в нужное управления формы илиСоздайте перечень элементов, которые Чтобы отобразить правильное контекстное выберем 2010; видели, ввести Имя.. В этой ячейке флажка — красный). Excel/ Основные/ ПоказыватьСвойства помогла ли она2. Файл расшарен? Fluent. управления, на вкладкеНазначение другого существующего макроса взаимодействии пользователя сPallet место. элемент ActiveX. Если должны отображаться в меню для группы
Переключатели
убедимся, что столбец 2010 Создадим Именованную формулу Количество, будет выводится порядковый Полосами прокрутки можно вкладку Разработчик на.
вам, с помощьюЗЫ Во вложенииУбедитесь в том, чтоРазработчик Дважды щелкните макрос в элементом ActiveX.(Палитра) и выберитеЩелкните правой кнопкой мыши необходимо создать поле списке, как показано элемент управления формы, выделен серым; в поле Диапазон номер выбранного элемента редактировать Цену и ленте.Совет: кнопок внизу страницы.
файл. Попробуйте как вы находитесь вв группе списке или введитеДополнительные сведения о создании цвет. поле со списком со списком, в на рисунке. убедитесь, что выбранПолосой прокрутки изменим количество укажем формулу =СМЕЩ($F$10;0;СмещГода). списка, т.е. если Количество в выбранномВ MS EXCEL 2010
Поле со списком
Можно также щелкнуть элемент Для удобства также либо изменить кнопку режиме конструктора. Наэлементы управления его имя в макросов, узнайте, СозданиеТип, начертание или размер и выберите команду котором пользователь сможетНа вкладке периметр группы, а в столбце 2010.
Теперь в поле
- выберем 2009, то году, но только это можно сделать так:
- управления правой кнопкой приводим ссылку на
- или её положение вкладке
отключите поле или удаление макросов.
- шрифтаФормат объекта
- изменять текст вРазработчик не ее внутреннююРезультат показан на рисунке.
- Связь с ячейкой выведется 1, т.к. в определенном диапазоне. Откройте вкладку мыши и выбрать оригинал (на английскомandrey-pРазработчикРежим конструктора
- Имя макросаЩелкните элемент управления правойЩелкните свойство. текстовом поле, рассмотритенажмите кнопку часть группы.К сожалению, у элементов элемента полоса прокрутки это первый элемент Теперь – подробнее.Файл пункт языке) .: Serge_007,в группе..
Список
кнопкой мыши иFontОткройте вкладку возможность использования элементаВставитьЕсли контекстное меню содержит управления формы Флажок, введите Количество. в списке. ДляНа листе использовано 3; Нажмите кнопку
Счётчик
СвойстваКроме различных элементов формы1. Нетэлементы управленияПримечание:Если вкладка выберите команду(Шрифт), нажмите кнопкуЭлемент управления ActiveX «Поле со.
команду Поле со спискомАналогичные манипуляции проделайте с дальнейших целей нам Переключателя объединенных вПараметры. компьютера содержит много2. ДавключитеМы стараемся какРазработчик
Полоса прокрутки
Назначить макрос…и настройте следующие списком». Элемент ActiveXПримечание:Свойства и Список нет полосой прокрутки для проще использовать именно Группу. Каждому Переключателю; Нажмите кнопкуПоявится диалоговое окно
элементы ActiveX, установленныеФайл во вложенииРежим конструктора можно оперативнее обеспечиватьнедоступна, отобразите ее..и выберите тип, параметры. «Поле со списком» Если вкладка, элемент управления является возможности отформатировать отображаемый Цены. Для этого год, а не
соответствует определенный элементНастроить лентуСвойства приложением Excel и (пароль 180285). На.
вас актуальными справочнымиВ Excel 2016, 2013,Откроется диалоговое окно размер или начертаниеФормировать список по диапазону более универсален: выРазработчик элементом ActiveX и шрифт. Зато это необходимо создать Именованную формулу его порядковый номер. управления: Поле со; Выберите команду
. Для получения подробных других программ, таких кнопках разные функцииВыберите элемент управления ActiveX. материалами на вашем 2010:Назначить макрос объекту
Флажок
шрифта.: введите диапазон ячеек, можете изменить свойстване отображается, на Excel открывается в можно сделать у Цена, где в Для этого в списком, Список, Счетчик.
Настройка ленты и в сведений о том как Calendar Control (вызов форм, сортировка…).Дополнительные сведения установите или языке. Эта страницаВ меню.Цвет шрифта содержащий список элементов. шрифта, чтобы текст вкладке режиме конструктора. элементов ActiveX (Разработчик/ поле Диапазон указать ячейку
Для объединения Элементов в разделе Основные вкладки или ином свойстве 12.0 и проигрывательФайл всегда защищен, снимите флажок элементы переведена автоматически, поэтомуФайлЧтобы задать местонахождение существующегоЩелкните свойствоСвязь с ячейкой было легче читатьФайлЕсли контекстное меню содержит Элементы управления/ Вставить). формулу =СМЕЩ($F$11;0;СмещГода).D8 группу помещаем наустановите флажок выделите его и
- Windows Media. При но вопрос в управления на листесм.
- ее текст можетпоследовательно выберите пункты
- макроса, выберите егоForeColor: поле со списком на листе свыберите команду Правда, для работы
- При выборе пользователем текущеговведем формулу =C8+2008. лист Элемент управленияРазработчик нажмите клавишу F1, установке новых элементов том что каким-тоЩелкните правой кнопкой мыши
- содержать неточности и
- Параметры в списке
- (Цвет текста), щелкните
Тестируем
- можно связать с измененным масштабом. Кроме
- Параметры
- Назначить макрос с этими элементами
- года, в таблицеВставляем на лист элемент
- Группа (через меню.
чтобы отобразить соответствующий
управления ActiveX, программа образом в результате выделенного фрагмента. грамматические ошибки. ДляиНаходится в стрелку вниз, откройте ячейкой, где отображается того, такое поле>, используется объект средства требуется писать программу с данными (
excel2.ru
Почему не удается выделить элементы управления формы и элементы ActiveX?
Список. Аналогично предыдущему Разработчик/ Элементы управления/Теперь вставить элемент управления раздел справка по установки для элементов неизвестных мне процессовВыберите имя объекта (например, нас важно, чтобыНастроить ленту, выполнив одно из вкладку номер элемента при со списком можноНастроить ленту рисования. на VBA.G9:K12 элементу связываем его Вставить). В рамках можно через меню: Visual Basic. Можно
Признаки
обычно регистрирует каждый неоднократно сталкивался с
Причина
Объект флажок
-
эта статья была. указанных ниже действий.Pallet его выборе из программно разместить в. В спискеЗатем выполните следующее:Примечание:) соответствующий столбец будет с ячейкой
-
группы создаем 3 Разработчик/ Элементы управления/ также ввести имя из элементов управления тем, что кнопки) и нажмите вам полезна. ПросимВ разделе
-
Для поиска макроса во(Палитра) и выберите списка. Введите номер
Разрешение
ячейках, содержащих списокОсновные вкладкиВ элементе управления формы Мы стараемся как можно закрашиваться серым фоном.$C$13 переключателя (также через Вставить. свойства в поле на вашем компьютере, меняются автоматически, причем кнопку вас уделить паруНастройка ленты всех открытых книгах цвет. ячейки, где должен
-
проверки данных.установите флажок для выберите элемент управления оперативнее обеспечивать вас Для выделения столбца
и формируем список меню Разработчик/ ЭлементыОбратите внимание, что вПоиск который делает его пользователь этого сделатьИзменить секунд и сообщить,
-
установите флажок выберите значениеСвязь с ячейкой для отображаться номер элемента.Выберите столбец, который можно вкладки и убедитесь, что
-
актуальными справочными материалами выбранного года используем на основе того управления/ Вставить) и этом меню можно
справки Visual Basic.
-
доступным для использования никак не может. помогла ли онаРазработчик
-
Все открытые книги
-
отображения значения, выбранногоНапример, в ячейке C1 скрыть на листе,
-
Разработчик отображается границу элемента на вашем языке. Условное форматирование. же Именованного диапазона
-
связываем их все вставить Элементы ActiveX,Щелкните элемент управления ActiveX, из Excel. Если и не понятно
-
Редактирование текста в элементе вам, с помощьюи нажмите кнопку
-
-
. в списке отображается значение 3, если и создайте список,и нажмите кнопку управления. Эта страница переведенаСначала вставим на лист Список. В ячейку с одной ячейкой
-
-
которые расположены ниже который вы хотите элемент управления не в какой момент управления. кнопок внизу страницы.
ОКПримечание:Щелкните свойство
support.office.com
Добавление списка или поля со списком на лист в Excel
выбрать пункт введя по одномуОКДля элемента управления ActiveX: автоматически, поэтому ее элемент Флажок. ЭтимD13С2 интересующих нас Элементов зарегистрировать. отображается в списке, меняются.После завершения редактирования текста, Для удобства также. Если макрос, который нужноLinkedCellФруктовое мороженое значению в ячейки..Если вкладка текст может содержать
элементом мы будемвведем формулу =C13+2008.(выделив элемент управления, управления формы. УУбедитесь в том, что
Добавление списка на лист
-
необходимо зарегистрировать егоСпасибо за ответ, нажмите клавишу ESC. приводим ссылку на
-
В Excel 2007 назначить элементу управления,(Связанная ячейка)., так как этоПримечание:
В разделеРазработчик неточности и грамматические включать и выключатьВставляем на лист элемент правой клавишей вызываем обоих типов есть вы находитесь в вручную. не знал проК началу страницы оригинал (на английскомНажмите находится в другойСвязывание поля со списком третий элемент в Можно также создать списокЭлементы управления формы
-
недоступна, отобразите ее: ошибки. Для нас выделение в таблице Счетчик. Определяем минимальное контекстное меню, Формат
-
одни и те режиме конструктора. На
-
Важно: свойства, попробую, думаюВеб-браузеры отображают альтернативный (замещающий языке) .кнопку Microsoft Office
-
книге, чтобы он и списка элементов списке. на другом листе
выберите элемент управленияОткройте вкладку важно, чтобы эта столбца выбранного года. значение 2009, максимальное
-
объекта…, вкладка Элемент же элементы Кнопка, вкладке
поможет. текст) во времяВы можете изменить текст,, а затем — появился в спискеЩелкните поле рядом соСовет: той же книги.
-
Список (элемент управления формы)Файл статья была вам Элемент свяжите с – 2013, шаг управления). Список, Флажок и
РазработчикНе все элементы управленияSerge_007 загрузки изображений, если отображаемый в элементе кнопкуНаходится в свойством Чтобы вместо номера
-
Добавление поля со списком на лист
На вкладке.и выберите пункт полезна. Просим вас ячейкой 1. Связываем элементУдерживая клавишу т.п. Разница междув группе
ActiveX можно использовать: Поможет. Вы мой отсутствуют изображения, а управления формы илиПараметры Excel, сначала откройте книгу,ListFillRange отображать сам элемент,РазработчикЩелкните ячейку, в которойПараметры уделить пару секунд$G$2 с ячейкойCTRL ними следующая: чтобыэлементы управления непосредственно на листах; файл смотрели? Пробовали также отображают замещающий элемента управления ActiveX,. содержащую макрос.(Диапазон элементов списка) можно воспользоваться функцией
-
нажмите кнопку нужно создать список.. и сообщить, помогла. Если флажок снят,
$C$17D17выделяем 3 переключателя использовать Элементы ActiveX необходимовключите
-
некоторые могут быть что либо сделать текст, если навести например метки илиВ категории
Чтобы ограничиться при поиске и укажите диапазон ИНДЕКС. В нашемВставитьНажмите кнопкуВ раскрывающемся списке ли она вам, то в этойвведем формулу =С17, и элемент Группа, использовать VBA, аРежим конструктора использованы только на с кнопкой? указатель мыши на справочных сведений, иОсновные макросов только книгой,
-
ячеек для списка. примере поле со.
-
Свойстванастроить ленту с помощью кнопок ячейке будет ЛОЖЬ т.к. элемент Счетчик вызываем правой клавишей
Элементы управления формы
-
. Microsoft Visual BasicQuote изображение. Поисковые используют можно изменить описаниев разделе
-
-
содержащей текущий лист,Изменение количества отображаемых элементов списком связано сПримечание:и на вкладке
выберите внизу страницы. Для
-
(этому значению соответствует в нашем случае мыши контекстное меню можно напрямую привязатьНа вкладке для приложений (VBA)(andrey-p)200?’200px’:»+(this.scrollHeight+5)+’px’);»>кнопки меняются автоматически замещающий текст для
-
замещающего текста дляОсновные параметры работы с выберите пункт списка ячейкой B1, а
Форматирование элемента управления формы «Поле со списком»
-
Если вкладкаЭлемент управленияОсновные вкладки удобства также приводим 0), если установлен,
-
возвращает значение года. и выбираем Группировка/ к ячейке наРазработчик
-
пользовательские формы. ПриНу, чудес-то не поиска веб-страниц. Замещающий
-
элемента управления. ExcelЭта книгаЩелкните поле диапазон ячеек дляРазработчикзадайте необходимые свойства:. ссылку на оригинал
то ИСТИНА (этомуЧтобы определить значение какого Группировать. Теперь при листе.в группе работе с этими бывает
текст также используетсяРедактирование текста в элементустановите флажок.ListRows списка — A1:A2. Еслине отображается, наВ полеУстановите флажок (на английском языке). значению соответствует 1). элемента (поле со выборе одного изДля тех, кто неэлементы управления элементами управления приВсегда есть причина
-
для пользователей с управления формыПоказывать вкладку «Разработчик» наЧтобы ограничиться при поискеи введите число в ячейку C1 вкладкеФормировать список по диапазонуРазработчикВыбор элемента управления, бываетДля настройки Условного форматирования выделим списком, список или трех Переключателей в ранее не работал
-
-
нажмите кнопку попытке добавить ихandrey-p
Форматирование элемента ActiveX «Поле со списком»
-
ограниченными возможностями.Редактирование текста в элементе ленте макросов только конкретной элементов.
-
ввести формулуФайлвведите диапазон ячеек,. сложно и непредсказуемые. диапазон счетчик) является активным Группе, в ячейке
с Элементами управленияВставить на лист Excel: Serge_007,
Выделите элемент управления.
управления ActiveX
, а затем нажмите
книгой, выберите средиЗакройте область=ИНДЕКС(A1:A5;B1)выберите содержащий список значений.Убедитесь в том, чтоМожет быть несколько причин:G9:K12
в настоящий момент,С2
формы, советуем подробнои в группе отображает сообщениеВаш файл пробовал,Дополнительные сведения установите илиИзменить описание замещающего текста кнопку
имен доступных открытых
Properties, то при выбореПараметрыПримечание: Excel открывается вПоскольку элемент управления формы. Так как формула в ячейке
будет выводиться значение ознакомиться с нимиЭлементы управления ActiveX
не удается вставить объект кнопка не меняется. снимите флажок элементы
для элемента управленияОК
книг нужную книгу.(Свойства) и нажмите третьего пункта в> Если нужно отобразить в режиме конструктора. На
может содержать текст в Условном форматировании
E9 1, 2 или в следующих статьях:, нажмите кнопку
-
. В моем файле управления на листесм.Выделите элемент управления формы..Выполните одно из действий,
-
кнопку ячейке C1 появитсяНастроить ленту списке больше элементов, вкладке или другие объекты будет содержать относительную
support.office.com
Добавление и изменение макроса для элемента управления на листе
введем формулу: =ЕСЛИ(C2=1;D8;ЕСЛИ(C2=2;D13;D17)) 3.Флажок;Другие элементыВам необходимо включить вкладку кнопка тоже неПравой кнопкой мыши, выберитеДополнительные сведения установите илиЧтобы изменить элемент ActiveX, описанных ниже.Режим конструктора текст «Фруктовое мороженое».. В списке можно изменить размерРазработчик (например, изображение), при ссылку, то убедимся, Как мы помним,Теперь вставим элемент управленияСчетчик;. «Разработчик» на ленте,
меняется, так как пункт снимите флажок элементы убедитесь, что вы
-
Назначение макроса.Количество строк списка:Основные вкладки
-
шрифта для текста.в группе попытке выберите элемент что после выделения значение в ячейке Поле со списком.
Полоса прокрутки;В нижней части диалогового прежде чем можно
Добавление и изменение макроса для элемента управления формы
-
она под защитой.Формат элемента управления управления на листесм. находитесь в режиме Выполните одно из действий,
Завершив форматирование, можно щелкнутьколичество строк, которыеустановите флажок для
-
В полеэлементы управления управления вы могут диапазона активной ячейкойС2 Вставить элемент можно
-
Переключатель; окна будет работать с Пользователь может ееи перейдите на
Правой кнопкой мыши и конструктора. На вкладке описанных ниже. правой кнопкой мыши должны отображаться, если вкладкиСвязь с ячейкойвключите не весь элемент
-
является G9 (т.е.определяется Группой переключателей. через меню: Разработчик/Список;Другие элементы элементами управления ActiveX.
-
только нажать. Тем вкладку выберите командуРазработчикЗапись макроса
-
-
столбец, который содержит щелкнуть стрелку вниз.
Разработчиквведите ссылку наРежим конструктора
-
управления, если выделен диапазон надо выделятьВставляем на лист элемент Элементы управления/ Вставить.Поле со списком.нажмите кнопку Подробнее читайте вкладку не менее периодическиWebИзменить текств группе Щелкните
-
список, и выбрать Например, если списоки нажмите кнопку ячейку.. не навести указатель начиная именно с
-
Полоса прокрутки. Этим В ячейках столбцаВ этой статье рассмотримЗарегистрировать настраиваемый «Разработчик». ко мне приход
..элементы управлениязапись
команду содержит 10 элементов иОК
-
Совет:При работе с большое мыши точно на нее. Подсказкой служит элементом мы будемМ более сложный пример
-
.На вкладке пользователи с проблемой,В полеГраницу элемента управления фильтрациейвключите, а по завершении
-
Добавление и изменение макроса для элемента ActiveX
-
Скрыть вы не хотите.
Выбираемая ячейка содержит число, количество элементов управления,
-
границу элемента управления. поле Имя, находящееся изменять ячейку навведем несколько значений совместного использования элементовВ диалоговом окнеРазработчик
-
я открываю файлзамещающий отображает тенденцию пунктирнойРежим конструктора записи макроса на. использовать прокрутку, вместо
Выберите тип поля со
-
связанное с элементом, расположенные рядом друг Если Excel не в слева от Строки пересечении строки Количество лет: 2009, 2010,
-
управления и УсловногоЗарегистрировать элемент управленияв группе и вижу измененныетекст введите текст, линией.. вкладкеПримечание: значения по умолчанию списком, которое нужно выбранным в списке.
-
-
с другом, увеличить режиме конструктора, при формул. После выделения (строка 10) и 2011, 2012, 2013. форматирования.найдите папку, вэлементы управления кнопки который вы хотите
-
Редактирование текста в элементе
Выделите нужный объект.РазработчикМы стараемся как
-
введите 10. Если добавить: Его можно использовать большего размера, чтобы попытке выберите элемент диапазона оно должно столбца выбранного года.
Эти значения будутРазберем конкретный пример применения которой находится файлнажмите кнопкуABC отобразить. управления.
-
Дополнительные сведения установите илив группе можно оперативнее обеспечивать
ввести число, котороев разделе в формуле для увеличить изображение.
-
управления ActiveX, вы содержать Значения ячейки будет использованы в элементе сразу нескольких Элементов элемента управления (сВставить
-
: например: при активацииandrey-pПо окончании редактирования текст снимите флажок элементыкод вас актуальными справочными меньше количества элементов Элементы управления формы
support.office.com
Редактирование текста в элементе управления на листе
получения фактического элементаДополнительные сведения читайте в можете случайно начатьG9 меняться в диапазоне Поле со списком. управления. В файле расширением OCX) илии затем в листа — не: Добрый день. правой кнопкой мыши управления на листесм.нажмите кнопку материалами на вашем в списке, появитсявыберите элемент управления из входного диапазона. статье масштабирование документа, действие, например выполнение). от 0 до
Создадим Именованный диапазон Список. примера с помощью DLL-файл элемента управления, группе пробовали?Подскажите, пожалуйста, возможно и выберите командуна вкладкеОстановить запись
В этой статье
языке. Эта страница полоса прокрутки.
Поле со списком (элементВ группе
презентации или листа. макроса или установка
Редактирование текста в элемент управления формы
-
вызовите инструмент Условное форматирование (Главная/
1000. Но каквыделяем диапазон элементов управления показано
-
который необходимо зарегистрировать.Элементы ActiveX200?’200px’:»+(this.scrollHeight+5)+’px’);»>Private Sub Worksheet_Activate() кто-нибудь сталкивался с
Завершить изменение текстаРазработчик.
-
переведена автоматически, поэтомуНажмите кнопку
-
управления формы)Возможен выборПримечание: флажка. Стили/ Условное форматирование/
определить эту ячейку?
Редактирование текста в элементе управления ActiveX
-
М9:М12 как пользователь можетВыберите файл элемента управления
выберите элемент управления
-
CommandButton1.Left = Cells(2, подобной проблемой: на .в группеНазначение существующего макроса ее текст может
-
ОК;установите переключательМы стараемся какМногие элементы управления расположены Создать правило);Создадим Именованную формулу СмещГода; отредактировать значения в и нажмите кнопку или нажмите кнопку 2).Left ‘Левое
листе Excel размещеныК началу страницыэлементы управления Дважды щелкните макрос в
-
-
содержать неточности и.ИЛИ:одинарного значения можно оперативнее обеспечивать рядом друг свыберите Использовать формулу для для определения позициинажимаем Формулы/ Определенные имена/ таблице (диапазон
-
Открыть
Другие элементы управленияCommandButton1.Top = Cells(2, кнопки (элемент Activex).
-
Если вкладканажмите кнопку
-
списке или введите грамматические ошибки. ДляНа вкладкев разделеи нажмите кнопку вас актуальными справочными
-
другом. определения форматируемых ячеек;
-
выбранного года в Присвоить имя;
F9:K12
Изменить описание замещающего текста для элемента управления
., чтобы просмотреть все 2).Top ‘верхнее С файлом работаетРазработчикПросмотреть код его имя в нас важно, чтобыРазработчикЭлементы ActiveXОК материалами на вашемВо-первых определяют тип элемента
-
в поле «Форматировать значения,
диапазоне летв поле Имя вводим).
-
Элементы управления формы (Поле доступные элементы управленияCommandButton1.Height = Cells(2, много пользователей, внедоступна, отобразите ее.. поле
-
эта статья быланажмите кнопкувыберите элемент управления. языке. Эта страница
support.office.com
Изменяются элементы ActiveX
управления, который требуется для которых следующая
G9:K9 Список.С помощью одного из со списком, Флажок, ActiveX и выберите 2).Height + 10 какой-то момент (неОтображение вкладки РазработчикПримечание:Имя макроса вам полезна. ПросимРежим конструктораПоле со списком (элементПримечание: переведена автоматически, поэтому
выделить. Существует три
формула является истинной». Нажимаем Формулы/ ОпределенныеТеперь свяжем элемент управления 3-х элементов управления Счетчик и др.)
элемент управления. ‘высота
понятно какой) происходитНажмите Чтобы изменить существующий макрос,.
вас уделить пару.
ActiveX)
Если вы хотите ее текст может различных типа элементов введите =И(СТОЛБЕЦ(G9)=СмещГода+6;$G$2) Формула
имена/ Присвоить имя, с данными на
Поле со списком,
помогают быстро менять
Щелкните на листе место,CommandButton1.Width = Cells(2, изменение размера икнопку Microsoft Office
щелкните элемент управленияСоздание макроса секунд и сообщить,Щелкните правой кнопкой мыши. выбрать параметр содержать неточности и управления и объекты, примет значение ИСТИНА, в поле Имя листе. Для этого: Список и Счетчик, данные на листе
где должен отображаться 2).Width + 60 размещения кнопок (порой, а затем —
правой кнопкой мыши Нажмите кнопку помогла ли она поле со спискомЩелкните ячейку, в которую
набора значений грамматические ошибки. Для
которые можно изменять когда выполнится одновременно
вводим СмещГода, в
выделите элемент управления Поле пользователь может выбрать
в определенном диапазоне, элемент управления ActiveX. ‘ширина их даже трудно кнопку и выберите командуСоздать вам, с помощью и выберите пункт нужно добавить полеили нас важно, чтобы однозначно, вы может 2 условия:
поле диапазон вводим со списком; столбец таблицы (год). включать и выключать
Чтобы изменить элемент управления,
End Sub найти на листе).
Параметры ExcelПросмотреть код
, а затем в кнопок внизу страницы.Свойства
со списком, исписка значений эта статья была
не наверняка знаете,
excelworld.ru
значение выражения (СмещГода (изменяется
Элементы ActiveX используются не только веб-браузерами, но и программами из пакета Microsoft Office, например, MS Outlook или MS Publisher. Перед активацией этого параметра необходимо убедиться, что информация была получена из надежного источника.
Вам понадобится
- Операционная система Windows.
Инструкция
Чаще всего элементы ActiveX включаются после появления соответствующего всплывающего сообщения. Нажмите кнопку «Параметры», чтобы открыть апплет «Параметры безопасности». Здесь следует выбрать опцию «Включить это содержимое». Содержимое, загруженное при помощи ActiveX будет активно только для текущего сеанса.
Обратите внимание на отображение оповещений для интернет-браузера и программ из пакета Microsoft Office — они будут различны. В первом случае оповещения можно наблюдать на панели сообщений, во втором случае — в любом диалоговом окне.
Для документов Microsoft Office вывод уведомлений можно отменить раз и навсегда. Для этого необходимо переместить объект в другую зону безопасности — надежное расположение. При изменении каких-либо параметров безопасности в одной программе офисного пакета, данные надстройки применяются автоматически к другим утилитам и редакторам.
В текстовом редакторе MS Word для включения элементов ActiveX необходимо нажать большую кнопку с изображением логотипа Microsoft Office. В открывшемся меню перейдите к пункту «Параметры Word», который находится в нижней части открытого окна. Затем выберите элемент «Центр управления безопасностью».
В появившемся окне следует нажать кнопку «Параметры центра управления безопасностью». Кликните левой кнопкой мыши по ссылке «Параметры ActiveX» и выберите любой вариант.
В редакторе формул MS Excel для включения элементов ActiveX необходимо нажать большую кнопку с изображением логотипа Microsoft Office. Затем нажмите «Параметры Excel» и перейдите к «Центру управления безопасностью». Откройте «Параметры центра управления» и выберите «Параметры ActiveX». Здесь так же, как и в прошлом случае необходимо выбрать один из предложенных вариантов.
Войти на сайт
или
Забыли пароль?
Еще не зарегистрированы?
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Microsoft Excel
трюки • приёмы • решения
Режим конструктора и элементы ActiveX в VBA Excel
В наших статьях мы подробно рассмотрим практические примеры, связанные с использованием программирования, которое заложено в Microsoft Office. Оно основывается на языке VBA, название которого в полном виде выглядит так Visual Basic for Application. Учитывая, что все рассматриваемые разработки будут использовать VBA, наша первоочередная задача познакомиться сданным языком.
Примеры этой темы предназначены для категории читателей, которая либо с VBA не встречалась, либо это знакомство было весьма поверхностным. Все последующие главы будут полностью посвящены рассмотрению практических офисных задач, и, таким образом, эта статья является для них базовой.
Рис. 1.4. Закладка Основные окна Параметры Excel
Предполагается, что читатель хотя бы в незначительной степени знаком с чисто пользовательскими возможностями Microsoft Excel прошлых версий. Важно отметить, что наибольший эффект будет наблюдаться, если запустить Microsoft Excel параллельно с чтением наших статей и выполнять все описанные разработки на компьютере. При рассмотрении примеров на протяжении всего изучения нам понадобятся элементы ActiveX, которые по-другому можно назвать Элементы управления.
И в качестве первого шага необходимо в окне, показанном на рис. 1.2, щелкнуть кнопкой Параметры Excel. В результате перед вами откроется новое окно с набором закладок. Здесь на закладке Основные следует сделать установку для отображения на ленте вкладки Разработчик, что реализуется с помощью флажка Показывать вкладку «Разработчик» на ленте (рис. 1.4).
В Microsoft Excel элементы ActiveX можно размещать и на пользовательских формах, и на самих рабочих листах (на верхнем графическом слое, где располагаются рисунки, диаграммы и другие объекты). Часто вставка нескольких элементов ActiveX значительно упрощает работу с данными на рабочем листе. Все элементы управления делятся на две группы: элементы управления формами и элементы управления ActiveX. Оба набора элементов управления имеют свои преимущества и недостатки. В общем случае элементы управления формами проще в применении, но зато элементы ActiveX являются более гибкими. В наших примерах мы будем использовать исключительно элементы ActiveX.
В результате окно приложения Microsoft Excel дополнится новыми пиктограммами, которые нам потребуются в дальнейшем (рис. 1.5). Среди тех, которыми мы будем активно пользоваться на протяжении всей книги, отметим пиктограмму с надписью Вставить. С се помощью на рабочем листе можно размещать элементы ActiveX, которые существенно дополняют функциональность книг Microsoft Excel. Они типичны для различных приложений Windows (речь идет о кнопках, полосах прокрутки, текстовых окнах, переключателях, списках и т. д.). Кроме пиктограммы Вставить мы будем активно пользоваться и другими присутствующими на ленте Режим конструктора, Свойства, Visual Basic и Макросы.
Перед тем как начать какие-либо действия с тем или иным элементом ActiveX, его необходимо поместить на рабочий лист. Это легко выполнить, если воспользоваться пиктограммой Вставить. На рис. 1.6 показано размещение на рабочем листе элемента ActiveX Кнопка.
Рис. 1.5. Отображение вкладки Разработчик на ленте
При наведении курсора мыши на пиктограмму элемента ActiveX Кнопка в качестве подсказки появляется еще один вариант его названия: элемент управления «Кнопка». Далее по тексту мы будем использовать оба варианта названия — элементы ActiveX и элементы управления.
Для того чтобы перенести элемент ActiveX на рабочий лист, необходимо щелкнуть на панели инструментов на его пиктограмме левой кнопкой мыши и далее переместить курсор мыши на рабочий лист. Курсор мыши примет вид, аналогичный математическому знаку «плюс». Теперь следует нажать левую кнопку мыши и, не отпуская ее, переместить мышь вправо и вниз, а затем отпустить ее левую кнопку. В результате на рабочем листе мы увидим изображение появившегося элемента ActiveX, окруженного маркерами (рис. 1.6).
Рис. 1.6. Размещение кнопки на рабочем листе в режиме конструктора
После размещения элемента ActiveX на рабочем листе активизируется кнопка Режим конструктора, которая позволяет пользователю далее работать в одном из двух режимов. Один из них так и называется режим конструктора. В этом случае можно работать с элементами ActiveX для создания необходимого интерфейса на рабочем листе. Также в этом режиме пользователю предоставляется возможность создавать программные разработки.
Появление маркеров (см. рис. 1.6), окружающих элемент ActiveX, как раз и является признаком того, что мы работаем в режиме конструктора (кнопка Режим конструктора в этом случае выглядит нажатой). На начальном этапе создания разработки работа в режиме конструктора сводится к размещению элементов управления на рабочем листе и изменению их свойств. Далее производится программирование различных событий, связанных с элементами управления, листами и книгой в целом.
Важно отметить, что после размещения элемента ActiveX на рабочем листе, в нашей книге (можно даже сказать — на данном листе книги) появился новый элемент, который фактически представляет собой «программный» объект. Аналогичным образом на рабочих листах книг Excel можно размещать и другие элементы ActiveX.
Рис. 1.7. Вид рабочего листа при выходе из режима конструктора
Другой режим можно назвать режимом выполнения или режимом работы (какого-то однозначно принятого названия не существует). Чтобы перейти в этот режим (то есть выйти из режима конструктора), необходимо отжать кнопку Режим конструктора (рис. 1.7). После этого в нашем случае можно просто пощелкать кнопкой, которую мы создали на рабочем листе (функциональные действия, которые можно обеспечить в этом случае, мы рассмотрим в дальнейшем). Далее опять вернемся в режим конструктора. С помощью маркеров, окружающих кнопку, можно легко изменить се размеры. Также с помощью мыши можно перемещать созданную кнопку по рабочему листу.
Общие сведения о формах, элементах управления форм и элементах ActiveX на листе
Важно: Это средство недоступно в Office на компьютерах под управлением Windows RT. Хотите просмотреть версию Office, которую вы используете?
с помощью форм и элементов управления и объектов, которые можно добавлять в них, вы можете упростить ввод данных на листе и улучшить внешний вид листов. Вы также можете делать это самостоятельно, и вам почти или совсем не потребуется код Microsoft Visual Basic для приложений (VBA).
Форма листа и шаблон Excel — это не одно и то же. Шаблон — это предварительно отформатированный файл, который служит отправной точкой для создания книги с требуемым оформлением. Форма содержит элементы управления, такие как поля и раскрывающиеся списки, упрощающие ввод и изменение данных для использующих ваш лист. Дополнительные сведения о шаблонах, которые вы можете скачать, можно найти в разделе шаблоны Excel.
Общие сведения о формах
Форма, печатаемая или доступная по сети, — это документ, разработанный с использованием стандартной структуры и формата, который упрощает сбор, систематизацию и редактирование данных.
Печатные формы содержат инструкции, форматирование, метки и пробелы для ввода и ввода данных. Для создания печатных форм можно использовать шаблоны Excel и Excel.
Формы в Интернете содержат те же функции, что и печатные формы. Кроме того, в веб-формах есть элементы управления. Элементы управления — это объекты, которые отображают данные или упрощают ввод и редактирование данных, выполнение действий или выделение. Как правило, элементы управления упрощают использование формы. Примерами часто используемых элементов управления являются списки, переключатели и кнопки. Элементы управления также могут запускать назначенные им макросы и реагировать на события, например щелчки мышью, путем выполнения кода Visual Basic для приложений (VBA).
Вы можете использовать Excel несколькими способами для создания печатных и электронных форм.
Типы форм Excel
В Excel можно создавать формы нескольких типов: формы данных, листы с элементами управления формы и ActiveX, а также пользовательские формы VBA. Каждый из этих типов формы можно использовать по отдельности или сочетать с другими типами для создания нужного решения.
Форма данных
форма данных предоставляет удобный способ ввода или отображения одной строки данных из диапазона или таблицы, не требующий применения горизонтальной прокрутки. Использовать форму данных может быть проще, чем перемещаться между столбцами, которых слишком много для одновременного отображения на экране. Форму данных можно применять тогда, когда достаточно простой формы с текстовыми полями, в качестве подписей которых используются заголовки столбцов, и когда не требуются сложные или пользовательские возможности, например списки и счетчики.
Приложение Excel может автоматически создавать встроенные формы данных для диапазон или таблица. Такая форма представляет собой диалоговое окно, в котором все заголовки столбцов отображаются в виде подписей. Каждой подписи соответствует текстовое поле, в которое можно вводить данные для столбца (максимальное количество столбцов — 32). В форме данных вы можете вводить новые строки, искать строки по переходу или (в зависимости от содержимого ячейки) обновлять строки и удалять строки. Если ячейка содержит формула, ее результат отображается в форме данных, но саму формулу в форме данных изменить нельзя.
Лист с формой и элементами ActiveX
Лист — это тип формы, который позволяет вводить и просматривать данные в сетке, а также некоторые функции, подобные элементам управления, уже встроенные в листы Excel, такие как примечания и проверка данных. Ячейки похожи на текстовые поля, и их можно вводить и форматировать разными способами. Ячейки часто используются в качестве меток, а также при настройке высоты и ширины ячеек и объединении ячеек можно сделать так, чтобы лист находился как простая форма для ввода данных. Другие функции, такие как элементы управления, такие как примечания к ячейкам, гиперссылки, фоновые изображения, проверка данных, условное форматирование, внедренные диаграммы и Автофильтр, могут вести себя как дополнительные формы.
Для повышения гибкости можно добавлять элементы управления и другие графические объекты в полотно листа, а также комбинировать и координировать их с помощью ячеек листа. Например, можно использовать элемент управления «список», чтобы облегчить пользователю выбирать элементы из списка. Кроме того, можно использовать элемент управления «Счетчик» для упрощения ввода номера пользователем.
Элементы управления и объекты хранятся на полотне, и поэтому их можно отображать и просматривать одновременно со связанным текстом, не зависящим от границ строк и столбцов, без изменения макета сетки или таблицы данных на листе. В большинстве случаев многие из этих элементов управления можно также связать с ячейками на листе, а для их нормальной работы не требуется создавать код VBA. Можно задать свойства, определяющие, является ли элемент управления свободно перемещаемым или перемещается и изменяет размеры вместе с ячейкой. Например, может потребоваться, чтобы флажок перемещался вместе со связанной ячейкой при сортировке диапазона. С другой стороны, если нужно, чтобы список всегда отображался в одном и том же месте, нежелательно, чтобы он перемещался вместе с ячейкой.
В Excel поддерживаются два типа элементов управления: элементы управления форм и элементы ActiveX. В дополнение к этим наборам элементов управления можно также добавлять объекты из средств рисования, например автофигуры, объект WordArt, графических элементов SmartArt или текстовых полей.
В следующих разделах более подробно описываются элементы управления и средства рисования, а также работа с ними.
Элементы управления формы
Элементы управления формы появились в Excel раньше всего и поддерживаются в предыдущих выпусках Excel (начиная с версии 5.0). Их также можно использовать на листах макросов XLM.
Элементы управления формы используются, если нужно легко ссылаться на данные ячеек и взаимодействовать с ними без использования кода VBA, а при необходимости добавлять элементы управления на листы диаграмм. Например, после добавления элемента управления «список» на лист и связывания его с ячейкой можно вернуть числовое значение для текущего положения выбранного элемента в элементе управления. Затем вы можете использовать это числовое значение в сочетании с функцией индекс для выбора различных элементов списка.
С помощью элементов управления формы можно также выполнять макросы. Можно назначить элементу управления существующий макрос либо создать или записать новый. Когда пользователь формы щелкает элемент управления, запускается макрос.
Однако эти элементы управления невозможно добавить в пользовательские формы, которые используются для управления событиями или изменены для запуска веб-сценариев на веб-страницах.
Элементы управления формы в MS EXCEL
Элементы управления формы (Поле со списком, Флажок, Счетчик и др.) помогают быстро менять данные на листе в определенном диапазоне, включать и выключать опции, делать выбор и пр. В принципе, без них можно обойтись, но они делают управление данными на листе более наглядным и уменьшают вероятность ввода некорректных данных.
Для вставки элементов управления на лист необходимо отобразить вкладку Разработчик.
- В MS EXCEL 2007 это можно сделать через меню Кнопка офис/ Параметры Excel/ Основные/ Показывать вкладку Разработчик на ленте .
- В MS EXCEL 2010 это можно сделать так: Откройте вкладку Файл; Нажмите кнопку Параметры; Нажмите кнопку Настроить ленту; Выберите команду Настройка ленты и в разделе Основные вкладки установите флажок Разработчик.
Теперь вставить элемент управления можно через меню: Разработчик/ Элементы управления/ Вставить.
Обратите внимание, что в этом меню можно вставить Элементы ActiveX, которые расположены ниже интересующих нас Элементов управления формы. У обоих типов есть одни и те же элементы Кнопка, Список, Флажок и т.п. Разница между ними следующая: чтобы использовать Элементы ActiveX необходимо использовать VBA, а Элементы управления формы можно напрямую привязать к ячейке на листе.
Для тех, кто не ранее не работал с Элементами управления формы, советуем подробно ознакомиться с ними в следующих статьях:
В этой статье рассмотрим более сложный пример совместного использования элементов управления и Условного форматирования.
Разберем конкретный пример применения сразу нескольких Элементов управления. В файле примера с помощью элементов управления показано как пользователь может отредактировать значения в таблице (диапазон F9:K12).
С помощью одного из 3-х элементов управления Поле со списком, Список и Счетчик, пользователь может выбрать столбец таблицы (год). Нужный элемент управления выбирается с помощью группы Переключателей. Название выбранного элемента подсвечивается серым цветом (см. A8:B8 на рис. выше). Выбранный год выделяется в таблице Условным форматированием темно серым цветом (см. H9:H12 на рис. выше). Отображение этого выделения регулируется Флажком (фон флажка — красный). Полосами прокрутки можно редактировать Цену и Количество в выбранном году, но только в определенном диапазоне. Теперь – подробнее.
Переключатели
На листе использовано 3 Переключателя объединенных в Группу. Каждому Переключателю соответствует определенный элемент управления: Поле со списком, Список, Счетчик.
Для объединения Элементов в группу помещаем на лист Элемент управления Группа (через меню Разработчик/ Элементы управления/ Вставить). В рамках группы создаем 3 переключателя (также через меню Разработчик/ Элементы управления/ Вставить) и связываем их все с одной ячейкой С2 (выделив элемент управления, правой клавишей вызываем контекстное меню, Формат объекта…, вкладка Элемент управления).
Удерживая клавишу CTRL выделяем 3 переключателя и элемент Группа, вызываем правой клавишей мыши контекстное меню и выбираем Группировка/ Группировать. Теперь при выборе одного из трех Переключателей в Группе, в ячейке С2 будет выводиться значение 1, 2 или 3.
Поле со списком
Теперь вставим элемент управления Поле со списком. Вставить элемент можно через меню: Разработчик/ Элементы управления/ Вставить. В ячейках столбца М введем несколько значений лет: 2009, 2010, 2011, 2012, 2013. Эти значения будут использованы в элементе Поле со списком.
- выделяем диапазон М9:М12;
- нажимаем Формулы/ Определенные имена/ Присвоить имя;
- в поле Имя вводим Список.
Теперь свяжем элемент управления с данными на листе. Для этого:
- выделите элемент управления Поле со списком;
- правой клавишей вызовите его контекстное меню, затем Формат объекта…, вкладка Элемент управления;
- в поле Формировать список по диапазону вводим Список (вместо ссылки на ячейку мы ввели ссылку на определенное Имя!). Конечно, вместо имени можно было указать просто ссылку на диапазон;
- свяжем элемент с ячейкой $C$8. В этой ячейке будет выводится порядковый номер выбранного элемента списка, т.е. если выберем 2009, то выведется 1, т.к. это первый элемент в списке. Для дальнейших целей нам проще использовать именно год, а не его порядковый номер. Для этого в ячейку D8 введем формулу =C8+2008 .
Список
Вставляем на лист элемент Список. Аналогично предыдущему элементу связываем его с ячейкой $C$13 и формируем список на основе того же Именованного диапазона Список. В ячейку D13 введем формулу =C13+2008 .
Счётчик
Вставляем на лист элемент Счетчик. Определяем минимальное значение 2009, максимальное – 2013, шаг 1. Связываем элемент с ячейкой $C$17. В D17 введем формулу =С17 , т.к. элемент Счетчик в нашем случае возвращает значение года.
Чтобы определить значение какого элемента (поле со списком, список или счетчик) является активным в настоящий момент, в ячейке E9 введем формулу: =ЕСЛИ(C2=1;D8;ЕСЛИ(C2=2;D13;D17)) Как мы помним, значение в ячейке С2 определяется Группой переключателей.
Полоса прокрутки
Вставляем на лист элемент Полоса прокрутки. Этим элементом мы будем изменять ячейку на пересечении строки Количество (строка 10) и столбца выбранного года. Значения ячейки будет меняться в диапазоне от 0 до 1000. Но как определить эту ячейку?
Создадим Именованную формулу СмещГода для определения позиции выбранного года в диапазоне лет G9:K9. Нажимаем Формулы/ Определенные имена/ Присвоить имя, в поле Имя вводим СмещГода, в поле диапазон вводим формулу =ПОИСКПОЗ($E$9; $G$9:$K$9;0) Если выбран 2009, то формула вернет 1.
Для определения ячейки строки Количество, соответствующую выбранному году используем формулу =СМЕЩ($F$10;0;СмещГода) . Формула вернет диапазон, состоящий из одной ячейки.
В поле Связь с ячейкой элемента Полоса прокрутки нельзя ввести формулу, но можно, как мы уже видели, ввести Имя. Создадим Именованную формулу Количество, в поле Диапазон укажем формулу =СМЕЩ($F$10;0;СмещГода) . Теперь в поле Связь с ячейкой элемента полоса прокрутки введите Количество.
Аналогичные манипуляции проделайте с полосой прокрутки для Цены. Для этого необходимо создать Именованную формулу Цена, где в поле Диапазон указать формулу =СМЕЩ($F$11;0;СмещГода) .
Флажок
При выборе пользователем текущего года, в таблице с данными (G9:K12) соответствующий столбец будет закрашиваться серым фоном. Для выделения столбца выбранного года используем Условное форматирование.
Сначала вставим на лист элемент Флажок. Этим элементом мы будем включать и выключать выделение в таблице столбца выбранного года. Элемент свяжите с ячейкой $G$2. Если флажок снят, то в этой ячейке будет ЛОЖЬ (этому значению соответствует 0), если установлен, то ИСТИНА (этому значению соответствует 1).
Для настройки Условного форматирования выделим диапазон G9:K12. Так как формула в Условном форматировании будет содержать относительную ссылку, то убедимся, что после выделения диапазона активной ячейкой является G9 (т.е. диапазон надо выделять начиная именно с нее. Подсказкой служит поле Имя, находящееся слева от Строки формул. После выделения диапазона оно должно содержать G9).
- вызовите инструмент Условное форматирование (Главная/ Стили/ Условное форматирование/ Создать правило);
- выберите Использовать формулу для определения форматируемых ячеек;
- в поле «Форматировать значения, для которых следующая формула является истинной» введите =И(СТОЛБЕЦ(G9)=СмещГода+6;$G$2) Формула примет значение ИСТИНА, когда выполнится одновременно 2 условия:
- значение выражения (СмещГода (изменяется от 1 до 5 (т.е. от 2009 до 2013 года) + 6) совпадет с номером текущего столбца (7, т.е. 2009 год);
- Флажок Условное форматирование установлен.
- выберите требуемый формат, например, серый цвет заливки;
- нажмите ОК.
Тестируем
- убедимся, что флажок Условное форматирование установлен;
- выберем переключатель Список;
- в элементе управления Список выберем 2010;
- убедимся, что столбец 2010 выделен серым;
- Полосой прокрутки изменим количество в столбце 2010.
Результат показан на рисунке.
К сожалению, у элементов управления формы Флажок, Поле со списком и Список нет возможности отформатировать отображаемый шрифт. Зато это можно сделать у элементов ActiveX (Разработчик/ Элементы управления/ Вставить). Правда, для работы с этими элементами требуется писать программу на VBA.
Включение и отключение параметров элементов ActiveX в файлах Office
Получите сведения о работе с элементами ActiveX в файлах, изменении их параметров, а также о включении и отключении их с помощью панели сообщений и центра управления безопасностью. Кроме того, вы можете получить дополнительные сведения об элементах ActiveX и о том, как они позволяют улучшить файлы.
ИТ-специалисты могут найти дополнительные сведения о планировании элементов ActiveX в статье TechNet Планирование параметров безопасности для элементов управления ActiveX в приложениях Office 2010.
В этой статье
Включение элементов ActiveX при появлении панели сообщений
При открытии файла с элементами ActiveX появляется желтая панель сообщений со значком щита и кнопкой Включить содержимое. Если известно, что источник элементов является надежным, воспользуйтесь описанными ниже инструкциями.
В области Панель сообщений нажмите кнопку Включить содержимое.
Файл откроется в качестве надежного документа.
На приведенном ниже рисунке показан пример панели сообщений, если в файле есть элементы ActiveX.
Включение элементов ActiveX в представлении Backstage
Другой способ включения элементов ActiveX в файле — с помощью представления Microsoft Office Backstage, которое появляется после открытия вкладки Файл при отображении желтой панели сообщений.
Откройте вкладку Файл.
В области Предупреждение системы безопасности нажмите кнопку Включить содержимое.
В разделе Включить все содержимое выберите команду Всегда включать активное содержимое данного документа.
Файл станет надежным документом.
На приведенном ниже рисунке показаны команды Всегда включать активное содержимое этого документа и Дополнительные параметры.
На приведенном ниже рисунке показаны команды группы Включить содержимое.
Примечание: Исключение составляют элементы ActiveX с флагом блокировки. Такие элементы ActiveX не запускаются. Флаг блокировки — это функция безопасности, которая запрещает элементу ActiveX использовать код ActiveX, например устраняя уязвимость в системе безопасности или предотвращая запуск кода.
Включение элементов ActiveX на один раз при появлении предупреждения системы безопасности
Выполнив приведенные ниже инструкции, можно включить элементы управления на то время, пока открыт файл. Если закрыть файл и открыть его снова, предупреждение появится опять.
Откройте вкладку Файл.
В области Предупреждение системы безопасности нажмите кнопку Включить содержимое.
Выберите элемент Дополнительные параметры .
В диалоговом окне Параметры безопасности Microsoft Office выберите команду Включить содержимое для этого сеанса для каждого элемента ActiveX.
На приведенном ниже рисунке показана область Предупреждения системы безопасности, если элементы ActiveX можно включить на то время, пока открыт файл.
Если файл содержит проект Visual Basic для приложений (VBA), например файл Microsoft Excel с поддержкой макросов, центр управления безопасностью налагает более жесткие ограничения, поскольку такой файл может содержать макросы.
Элементы ActiveX и другой активный контент следует включать только в том случае, если точно известно, что они получены из надежного источника.
Изменение параметров элементов ActiveX в Word, Access, Excel, PowerPoint, Publisher и Visio
Выполнив приведенные ниже инструкции, можно включить или отключить элементы ActiveX в центре управления безопасностью.
Выберите Файл > Параметры.
Выберите по очереди пункты Центр управления безопасностью, Параметры центра управления безопасностью и Параметры ActiveX.
Выберите нужные параметры и нажмите кнопку ОК.
Далее показан пример области Параметры ActiveX центра управления безопасностью.
Важно: При изменении параметра ActiveX в Word, Access, Excel, PowerPoint, Publisher или Visio аналогичные параметры изменяются и во всех остальных программах из этого списка.
Описание параметров элементов ActiveX
Приведенные ниже объяснения относятся к элементам ActiveX, которые не находятся в надежном расположении или надежных документах.
Важно: Если документ является надежным и предупреждения безопасности о наличии элементов ActiveX или другого активного содержимого получать нежелательно, поместите этот документ в надежное расположение.
Отключить все элементы управления без уведомления. В документах будут отключены все элементы ActiveX.
Запрос перед включением элементов управления, инициализация которых считается небезопасной (UFI), с дополнительными ограничениями и элементов управления, инициализация которых считается безопасной (SFI), с минимальными ограничениями. Здесь возможны два варианта в зависимости от наличия проектов VBA projects.
При наличии проекта VBA. Все элементы ActiveX отключены, отображается панель сообщений. Чтобы включить элементы управления, нажмите кнопку Включить содержимое.
При отсутствии проекта VBA. Элементы ActiveX, инициализация которых считается безопасной SFI, включены с минимальными ограничениями, и панель сообщений не появляется. Чтобы не открывать панель сообщений, необходимо пометить все элементы ActiveX как SFI. Элементы ActiveX, инициализация которых считается небезопасной (UFI), отключены. Однако в случае включения элементов UFI они инициализируются с дополнительными ограничениями (например, значениями по умолчанию). Постоянные данные, являющиеся частью элементов UFI, будут потеряны.
Запрос перед включением всех элементов управления с минимальными ограничениями. Этот параметр установлен по умолчанию. Здесь возможны два варианта в зависимости от наличия проектов VBA.
При наличии проекта VBA. Все элементы ActiveX отключены, отображается панель сообщений. Чтобы включить элементы управления, нажмите кнопку Включить содержимое.
При отсутствии проекта VBA. Элементы ActiveX, инициализация которых считается безопасной (SFI), включены с минимальными ограничениями, и панель сообщений не появляется. Чтобы не открывать панель сообщений, необходимо пометить все элементы ActiveX как SFI. Элементы ActiveX, инициализация которых считается небезопасной (UFI), отключены. Однако в случае включения элементов UFI они инициализируются с минимальными ограничениями (например, постоянные значения или значения по умолчанию, если постоянные данные не существуют).
Включить все элементы управления без ограничений и запросов (не рекомендуется). Все элементы ActiveX в документах включаются с минимальными ограничениями.
Безопасный режим. Позволяет включить элементы ActiveX, инициализация которых считается безопасной (SFI), в безопасном режиме. Это означает, что разработчик пометил данный элемент управления как безопасный.
Что представляет собой элемент ActiveX и какие риски с ним связаны
Элементы ActiveX — это небольшие стандартные блоки, используемые для создания приложений, работающих через Интернет в веб-браузере. Примерами могут служить пользовательские приложения для сбора данных, просмотра файлов определенных типов и показа анимации. Обычно элементы ActiveX используются в кнопках, списках и диалоговых окнах. В программах Office также можно использовать элементы ActiveX для расширения функциональности документов.
Риск и возможные последствия
Элементы ActiveX могут иметь неограниченный доступ к компьютеру и, следовательно, могут получить доступ к локальной файловой системе и изменить параметры реестра операционной системы. Если злоумышленник воспользуется элементом ActiveX, чтобы управлять компьютером, нежелательные последствия могут быть весьма серьезными.
Вопрос по userform, activex, vba, controls, excel – В чем разница между «Элементами управления» и «Элементом ActiveX» в Excel 2010?
у там2 типа управления доступно в Excel?(2 кнопки, 2 поля со списком, 2 флажка и т. Д.)
какая разница междуФормы управления а такжеЭлементы управления ActiveX? Какой из них я должен использовать?
Некоторые примеры кода, которые я нахожу в Интернете, работают с моими элементами управления, а другие — нет. Как придешь?
Как я работаю с каждым типом, и как я могу определить разницу?
два типы элементов управления, доступные в Excel — усугубляется контрастнымтерминология используется различными интернет-источниками.
Это толькообщий обзор различий междуЭлементы управления формой а такжеЭлементы управления ActiveX (основываясь на моих старых заметках, которые помогли мне окончательно выяснить различия!) Посетите включенные ссылки для получения более подробной информации о каждом элементе управления, включая код и примеры проектов. ☺
(Адаптировано из моего оригинального постаВот — сейчас закрыто)
Естьдва типы элементов управления:Элементы управления формой а такжеЭлементы управления ActiveX:
Обе типы элементов управления могут быть использованы на листах, нотолько ActiveX элементы управления могут быть использованы наUserForms.
Элементы управления формой являются частьюФормы коллекция (так же, как рисование объектов), и, таким образом, упоминается как:
Элементы управления ActiveX в основном являются частью рабочего листа и поэтому называются так:
Обе типы элементов управления можно создавать, изменять и удалять с рабочего листа или программно с помощью VBA, однако 2 типа элементов управления имеют слегка различающийся синтаксис при использовании VBA для обращения к ним.
Некоторые сайты обсуждают и обсуждаютФорма данных, Этоне более чем пользовательская форма сделано специально для ввода / манипулирования данными, поэтому было бы разумнее их вызывать (более знакомое звучание)«Форма ввода данных пользователя».
Офисная документация также иногда ссылается нарабочий лист как форма. Пока этотехнически правильно, не позволяйте этому сбить вас с толку. Думайте о слове «форма» как используемое вобщий смысл:
Два типа элементов управления
Элементы управления формой
Элементы управления ActiveX
Они выглядят, ведут себя и управляются одинаково, но не одинаково. (СписокВот.)
Например, давайте сравним два типаКомбинированные коробки, В некоторых языках программирования сопоставимые элементы управления называются»выпадающее меню» или же»раскрывающийся список», В Excel у нас есть»Поле со списком контроля формы«и»Поле со списком элементов управления ActiveX«:
(Нажмите на изображение, чтобы увеличить.)
☆ «Имя по умолчанию» применяется к созданным элементам управлениявручную, Элементы управления, созданные программно, не имеют (или не требуют) имени по умолчанию и поэтому должны иметь имя, назначенное сразу после создания.
Это изображение ниже показывает, какие общие элементы управленияв общем доступны для использования в рабочих листах и пользовательских формах.
Другие факторы могут влиять на доступность контроля.
Об элементах управления ActiveX и связанных с ними проблем безопасности
Элемент управления ActiveX являетсярасширение на панель инструментов VBA. Элементы управления ActiveX используются так же, как и любые стандартные встроенные элементы управления, например элемент управления CheckBox. Когда вы добавляете элемент управления ActiveX в приложение, оно становится частью среды разработки и среды выполнения и предоставляет новые функциональные возможности для вашего приложения.
Элемент управления ActiveX реализован как внутрипроцессный сервер (обычно небольшой объект), который можно использовать в любом контейнере OLE. Обратите внимание, что полная функциональность элемента управления ActiveX доступна только при использовании в контейнере OLE, предназначенном для понимания элементов управления ActiveX.
Этот тип контейнера, называемыйКонтейнер управления или жеобъект управления, может управлять элементом управления ActiveX с помощью свойств и методов элемента управления и получать уведомления от элемента управления ActiveX в форме событий. Следующий рисунок демонстрирует это взаимодействие:
(Источник: это а такжеэто)
Смотрите также:
Дополнительные кнопки (радио кнопки)
В Excel два типа переключателей фактически называютсяКнопки выбора, Чтобы еще больше запутать вопросы:
имя по умолчанию для элемента управления формы OptionButton1 .
имя по умолчанию для элемента управления ActiveX Option Button 1 .
Хороший способ их различить — открыть список свойств элемента управления (на ленте на вкладке «Разработка») или щелкнуть правой кнопкой мыши элемент управления и выбрать Properties или ударF4), потому что элемент управления ActiveX имеет гораздо больше опций, чем простой элемент управления формы.
Опциональные кнопки и флажки можно связать вместе (поэтому из группы можно выбрать только один вариант), поместив их в общийГрупповая коробка.
Выберите элемент управления группы и затем нажмитеCtrl при выборе каждого из других элементов управления, которые вы хотите сгруппировать. Щелкните правой кнопкой мыши элемент управления группы и выберите Grouping → Group .
Первые две ссылки ниже представляют собой отдельные наборы инструкций для обработки каждого типа кнопки выбора.
СОБЫТИЯ УПРАВЛЕНИЯ ОБРАЩЕНИЕМ:События управления формой ( Click только событие)
События управления формой могут отвечать только на одно событие: Click мероприятие, (Больше информацииВот.) Обратите внимание, чтоэтот раздел не относится к пользовательским формам так как они используют только элементы управления ActiveX.
Чтобы добавить процедуру для Click мероприятие:
Щелкните правой кнопкой мыши элемент управления и выберите Assign Macro.
В диалоге «Назначить макрос»:
Выберите существующую процедуру и нажмитеХорошо, или же,
Создайте новую процедуру в VBE, нажавНовый . или же,
Запишите новый макрос, нажавЗапись . или же,
Удалить назначенное событие, удалить его имя из Macro Name поле и нажмитеХорошо.
(Нажмите на изображение, чтобы увеличить.)
Чтобы переименовать, отредактировать или удалить существующие макросы, нажмитеAlt+F8 открыть Macro интерфейс:
События управления ActiveX
Элементы управления ActiveX имеютболее обширный список событий, на которые они могут быть настроены для ответа.
Чтобы назначить события элементам управления ActiveX, щелкните правой кнопкой мыши элемент управления и выберите View Code , В VBE вы можете вставить код иливыбрать конкретные события из раскрывающегося списка в правом верхнем углу окна VBE.
(Нажмите на изображение, чтобы увеличить.)
Управление обработкой событий в пользовательской форме:
События также могут использоваться в элементах управления для пользовательских форм. Поскольку только пользовательские элементы управления ActiveX могут быть размещены в форме пользователя, вы получите компромисс «больше кодирования + больше функциональности».
Элементы управления ActiveX добавляются в пользовательские формы так же, как они добавляются на лист. Имейте в виду, что любые события, назначенные пользовательской формесам (т. е. фон) будет «заблокирован» в любых областях, охватываемых элементом управления, поэтому вам может потребоваться назначить одинаковые события элементам управления, а также пользовательской форме.
Например, чтобы заставить эту пользовательскую форму отвечать на MouseMove где-нибудь на форме, тот же код события был применен кпользовательская форма, текстовые поля, кнопки выбора и рамка:
Примеры VBAДобавить / изменить / удалить кнопку опции управления формой с помощью VBA:
Добавить / изменить / удалить командную кнопку ActiveX с помощью VBA:
Добавить / удалить элементы из поля со списком управления формой: Добавить / удалить элементы из поля со списком ActiveX: Больше информации:
В наших статьях мы подробно рассмотрим практические примеры, связанные с использованием программирования, которое заложено в Microsoft Office. Оно основывается на языке VBA, название которого в полном виде выглядит так Visual Basic for Application. Учитывая, что все рассматриваемые разработки будут использовать VBA, наша первоочередная задача познакомиться сданным языком.
Примеры этой темы предназначены для категории читателей, которая либо с VBA не встречалась, либо это знакомство было весьма поверхностным. Все последующие главы будут полностью посвящены рассмотрению практических офисных задач, и, таким образом, эта статья является для них базовой.
Рис. 1.4. Закладка Основные окна Параметры Excel
Предполагается, что читатель хотя бы в незначительной степени знаком с чисто пользовательскими возможностями Microsoft Excel прошлых версий. Важно отметить, что наибольший эффект будет наблюдаться, если запустить Microsoft Excel параллельно с чтением наших статей и выполнять все описанные разработки на компьютере. При рассмотрении примеров на протяжении всего изучения нам понадобятся элементы ActiveX, которые по-другому можно назвать Элементы управления.
И в качестве первого шага необходимо в окне, показанном на рис. 1.2, щелкнуть кнопкой Параметры Excel. В результате перед вами откроется новое окно с набором закладок. Здесь на закладке Основные следует сделать установку для отображения на ленте вкладки Разработчик, что реализуется с помощью флажка Показывать вкладку «Разработчик» на ленте (рис. 1.4).
В Microsoft Excel элементы ActiveX можно размещать и на пользовательских формах, и на самих рабочих листах (на верхнем графическом слое, где располагаются рисунки, диаграммы и другие объекты). Часто вставка нескольких элементов ActiveX значительно упрощает работу с данными на рабочем листе. Все элементы управления делятся на две группы: элементы управления формами и элементы управления ActiveX. Оба набора элементов управления имеют свои преимущества и недостатки. В общем случае элементы управления формами проще в применении, но зато элементы ActiveX являются более гибкими. В наших примерах мы будем использовать исключительно элементы ActiveX.
В результате окно приложения Microsoft Excel дополнится новыми пиктограммами, которые нам потребуются в дальнейшем (рис. 1.5). Среди тех, которыми мы будем активно пользоваться на протяжении всей книги, отметим пиктограмму с надписью Вставить. С се помощью на рабочем листе можно размещать элементы ActiveX, которые существенно дополняют функциональность книг Microsoft Excel. Они типичны для различных приложений Windows (речь идет о кнопках, полосах прокрутки, текстовых окнах, переключателях, списках и т. д.). Кроме пиктограммы Вставить мы будем активно пользоваться и другими присутствующими на ленте Режим конструктора, Свойства, Visual Basic и Макросы.
Перед тем как начать какие-либо действия с тем или иным элементом ActiveX, его необходимо поместить на рабочий лист. Это легко выполнить, если воспользоваться пиктограммой Вставить. На рис. 1.6 показано размещение на рабочем листе элемента ActiveX Кнопка.
Рис. 1.5. Отображение вкладки Разработчик на ленте
При наведении курсора мыши на пиктограмму элемента ActiveX Кнопка в качестве подсказки появляется еще один вариант его названия: элемент управления «Кнопка». Далее по тексту мы будем использовать оба варианта названия — элементы ActiveX и элементы управления.
Для того чтобы перенести элемент ActiveX на рабочий лист, необходимо щелкнуть на панели инструментов на его пиктограмме левой кнопкой мыши и далее переместить курсор мыши на рабочий лист. Курсор мыши примет вид, аналогичный математическому знаку «плюс». Теперь следует нажать левую кнопку мыши и, не отпуская ее, переместить мышь вправо и вниз, а затем отпустить ее левую кнопку. В результате на рабочем листе мы увидим изображение появившегося элемента ActiveX, окруженного маркерами (рис. 1.6).
Рис. 1.6. Размещение кнопки на рабочем листе в режиме конструктора
После размещения элемента ActiveX на рабочем листе активизируется кнопка Режим конструктора, которая позволяет пользователю далее работать в одном из двух режимов. Один из них так и называется режим конструктора. В этом случае можно работать с элементами ActiveX для создания необходимого интерфейса на рабочем листе. Также в этом режиме пользователю предоставляется возможность создавать программные разработки.
Появление маркеров (см. рис. 1.6), окружающих элемент ActiveX, как раз и является признаком того, что мы работаем в режиме конструктора (кнопка Режим конструктора в этом случае выглядит нажатой). На начальном этапе создания разработки работа в режиме конструктора сводится к размещению элементов управления на рабочем листе и изменению их свойств. Далее производится программирование различных событий, связанных с элементами управления, листами и книгой в целом.
Важно отметить, что после размещения элемента ActiveX на рабочем листе, в нашей книге (можно даже сказать — на данном листе книги) появился новый элемент, который фактически представляет собой «программный» объект. Аналогичным образом на рабочих листах книг Excel можно размещать и другие элементы ActiveX.
Рис. 1.7. Вид рабочего листа при выходе из режима конструктора
Другой режим можно назвать режимом выполнения или режимом работы (какого-то однозначно принятого названия не существует). Чтобы перейти в этот режим (то есть выйти из режима конструктора), необходимо отжать кнопку Режим конструктора (рис. 1.7). После этого в нашем случае можно просто пощелкать кнопкой, которую мы создали на рабочем листе (функциональные действия, которые можно обеспечить в этом случае, мы рассмотрим в дальнейшем). Далее опять вернемся в режим конструктора. С помощью маркеров, окружающих кнопку, можно легко изменить се размеры. Также с помощью мыши можно перемещать созданную кнопку по рабочему листу.
Откройте вкладку Файл . В области Предупреждение системы безопасности нажмите кнопку Включить содержимое . Выберите элемент Дополнительные параметры . В диалоговом окне Параметры безопасности Microsoft Office выберите команду Включить содержимое для этого сеанса для каждого элемента ActiveX.
Как открыть редактор Visual Basic в Excel?
Простейший способ запустить редактор Visual Basic в Excel – нажать комбинацию клавиш Alt+F11 (то есть нажать клавишу Alt и, удерживая её, нажать клавишу F11). После этого откроется окно редактора Visual Basic, как показано на картинке ниже.
Как включить все макросы в Excel 2010?
Как включить макросы в Excel 2010
- Открываем Excel (Word) и переходим на вкладку меню Файл
- Выбираем пункт Параметры
- Открываем Центр управления безопасностью и переходим в Параметры управления безопасностью
- Включаем все макросы и нажимаем ОК
- Перезапустите Excel (закройте все книги), чтобы изменения вступили в силу Рекомендуем к прочтению
Как открыть файл Excel с макросами?
Как запустить файл с включенными макросами?
- Excel 2003: Сервис- Безопасность- Уровень макросов «Низкий»
- Excel 2007: Меню- Параметры Excel- Центр управления безопасностью- Параметры центра управления безопасностью- Параметры макросов- Разрешить все макросы;
Чем опасны макросы?
Документы Microsoft Office, содержащие встроенные макросы, могут быть опасными. Макросы — это, по сути, кусочки компьютерного кода, и исторически они были средством распространения вредоносных программ. К счастью, современные версии Office содержат функции безопасности, которые защитят вас от макросов.
Как открыть редактор Visual Basic?
Во всех приложениях Office это делается одинаково:
- самый простой способ: в меню Сервис выбрать Макрос -> Редактор Visual Basic;
- самый быстрый способ: нажать <Alt>+<F11>;
- можно также воспользоваться кнопкой на панели инструментов Visual Basic (предварительно сделав ее видимой);
Как открыть в Excel Visual Basic?
Вставляем код VBA в книгу Excel
- Открываем рабочую книгу в Excel.
- Нажатием Alt+F11 вызываем окно редактора Visual Basic.
- На панели Project-VBAProject кликаем правой кнопкой мыши по имени рабочей книги (в левой верхней части окна редактора) и в контекстном меню выбираем Insert > Module.
Как включить все макросы в Excel?
Параметры макроса не меняются во всех программах Office.
- Откройте вкладку Файл.
- Щелкните Параметры.
- Затем выберите пункты Центр управления безопасностью и Параметры центра управления безопасностью.
- В центре управления безопасностью щелкните элемент Параметры макросов.
- Выберите нужные вам решения и нажмите кнопку «ОК».
Как зайти в макросы в Excel 2010?
More videos on YouTube
- 1) На ленте нажмите пункт меню «Файл», а потом в открывшемся меню — кнопку «Параметры»:
- 2) В открывшемся окне «Параметры Excel» в левом столбце выделите пункт «Центр управления безопасностью», …
- 3) В открывшемся окне «Центр управления безопасностью» выделите пункт «Параметры макросов»,
Как найти макрос в Excel?
Макросы и средства VBA находятся на вкладке Разработчик, которая по умолчанию скрыта, поэтому сначала нужно включить ее.
- Перейдите в Excel > параметры…> ленты & панель инструментов.
- В категории Настроить ленту в списке Основные вкладки установите флажок Разработчик, а затем нажмите кнопку Сохранить.
Как открыть файл в VBA?
Вы можете открыть файлы VBA с помощью следующих программ:
- Cool Edit.
- Cool Edit Pro.
- VBA Fragment Editor.
- Visual Chart Profesional.
- Parallels Tools Center.
- Free File Viewer Pro. Скачать
Как открыть файл Excel без запуска макроса?
Поделиться Darren Bartrup-Cook
- Откройте Excel непосредственно, не дважды щелкните книгу, чтобы запустить Excel.
- File/Open/Browse.
- Перейдите к книге, которую вы хотите открыть, одним щелчком мыши на ней
- Щелкните раскрывающийся список рядом с пунктом открыть и откройте его в защищенном виде
Как запустить макрос?
Запуск макроса на вкладке «Разработчик»
- Откройте книгу, содержащую нужный макрос.
- На вкладке Разработчик в группе Код нажмите кнопку Макросы.
- В поле Имя макроса выберите макрос, который вы хотите запустить, и нажмите кнопку Выполнить.
- У вас также есть другие варианты:
Где хранятся макросы в Word?
Ответ: Где Word хранит макросы? В файле Normal. dot, если не ошибаюсь. В окне списка макросов есть кнопка «Организатор» (XP, 2003), загляните туда.
Как узнать какие макросы в ворде?
Чтобы просмотреть список встроенных макросов, на вкладке Разработчик в группе Код нажмите кнопку Макросы. В списке Макросы из выберите вариант Команды Word. В списке Макрос доступен для щелкните шаблон или документ, в котором нужно сохранить макрос. Важно: Чтобы макрос был доступен во всех документах, выберите Normal.
Каким типом компьютерного вируса могут быть заражены файлы документов MS Office?
Макровирусы могут заразить файлы Word, а также любого другого приложения, использующего язык программирования. В отличие от вирусов операционной системы макровирусы не заражают программы; они заражают документы и шаблоны. … Один или несколько из них могут быть частью макровируса, заразившего систему.
Ошибка приложения Excel при открытии файла с макросами
Не так давно очередной раз столкнулся с ошибками приложения Excel при попытке включения макросов после открытия файлов .xlsm. Вспомнил, что подобные проблемы преследуют пользователей довольно давно, но чаще всего они наблюдались с Excel 2013 и Excel 2016. Характерные особенности этой группы ошибок следующие:
- Приложение Excel закрывается при открытии файла с макросами (при включенном режиме безопасности Включить все макросы );
- Ошибка приложения Excel возникает при попытке включить содержимое (нажатии соответствующей кнопки);
- Ошибка приложения Excel возникает при сохранении файла с макросами;
Ну и по горячим следам очередного инцидента, дабы не откладывать на потом, решил для себя собрать небольшой хаб по ошибкам приложения Excel с последующей модификацией, дабы опять не терять время на поиск информации в Сети и на составление облака причин.
Суть в том, что в процессе открытия файла xlsm, и при отключенных макросах, в верхней части основного окна (над таблицей), высвечивается строка уведомления: ПРЕДУПРЕЖДЕНИЕ СИСТЕМЫ БЕЗОПАСНОСТИ Запуск макросов отключен , с кнопкой включения содержимого (макросов). Как только пользователь её нажимает, Excel попросту аварийно завершается (падает) с ошибкой Программа Microsoft Excel не работает и характерным окном уведомления:
При этом было замечено, что непосредственно перед возникновением ошибки приложения Excel никаких системных обновлений и обновлений пакета Office не устанавливалось. Возможно, каким-то образом задействованы последние обновления на Office, но прямой связи я не заметил, а подробного исследования проблемы не проводил. При этом зависимости от версии операционной системы (мною лично сбои наблюдались на Windows 10 LTSC и Windows 7 Professional) так же выявлено не было. При анализе аварийного дампа приложения ( *.hdmp ) обычно можно увидеть подобную информацию исключения (вывод урезан):
обычно это NTSTATUS с кодом c0000005 — Access violation, доступ запрещен. И чаще всего в дампе можно увидеть такой вот стек потока (вывод оптимизирован для улучшения представления):
из которого единственное что понятно, так это то, что падение Excel происходит в недрах функций библиотеки vbe7.dll (среда исполнения VBA), подгруженной в адресное пространство процесса. Это указывает на проблемы с обработчиком VBA-скриптов, в контексте Excel чаще именуемых макросами.
Так что же такое VBA и для чего он предназначается?
В приложениях, входящих в комплект MS Office, таких как Excel, Word, PowerPoint и Access, VBA используется для автоматизации множества рутинных задач (напр.: повторяющихся однотипных действий), позволяет создавать формы для общения с пользователем и предлагает множество иного богатого функционала. При помощи VBA доступно управление электронной таблицей посредством объектно-ориентированной модели кода/данных, при помощи VBA-кода входные данные таблиц могут быть обработаны и представлены в итоговых (результирующих) таблицах и диаграммах (графиках). Таблица становится интерфейсом кода, позволяя легко работать, изменять его и управлять расчётами. На выходе VBA проект, используемый в структурах описанных выше приложений (электронные таблицы Excel, презентации PowerPoint, базы Access), компилируется в специальный бинарный исполняемый файл, который размещается внутри файла основного формата. Применительно к Excel это файл vbaProject.bin , который располагается внутри *.xslm-файла в директории /xl , представляющий собой бинарный исполняемый файл проекта, содержащий макрос в откомпилированном (готовом к исполнению) виде.
Решение 1: вставка нового листа
Выполните приведенную последовательность действий:
- Открываем [проблемный] .xlsm-файл (файл с макросами).
- Не нажимаем кнопку Включить содержимое .
- Добавляем в книгу Excel новый лист: правая кнопка мыши на ярлыках Лист1/Лист2/Лист3 → Вставить → Лист .
- Сохраняем электронную таблицу. Закрываем Excel.
- Открываем проблемный файл заново и включаем макросы.
Решение 2: перекомпиляция проекта
Выполните последовательность действий:
- Запускаем и открываем новую книгу Excel (не ваш проблемный файл).
- Открываем меню Файл — выбираем Параметры — далее открываем Центр управления безопасностью и заходим в Параметры центра управления безопасностью .
- В разделе Параметры макросов — выставляем чекбокс Отключить все макросы с уведомлением .
- В разделе Надежные расположения — выставляем чекбокс Отключить все надежные расположения .
- В разделе Надежные документы — выставляем чекбокс Отключить надежные документы .
- Жмем везде OK . Закрываем Excel.
- Открываем [проблемный] .xlsm-файл (файл с макросами).
- Не нажимаем кнопку Включить содержимое .
- Открывает редактор Visual Basic при помощи комбинации клавиш Alt + F11 . Либо можно использовать обходной маневр: в настройках включаем меню Разработчик , после этого в появившемся сверху в ленте меню Разработчик выбираем пункт Visual Basic .
- В открывшемся окне редактора Visual Basic (VBA редактор) пересохраняем проект: для этого жмем на панели инструментов кнопку Сохранить (изображение дискетки или комбинация Ctrl + S ).
- Выбираем из меню Debug — выбираем пункт меню Compile VBA Project :
Решение 3: добавление модуля
Дополнительное решение состоит в том, что бы внести изменения в макрос без перекомпиляции.
- Открываем [проблемный] .xlsm-файл (файл с макросами).
- Не нажимаем кнопку Включить содержимое .
- Открывает редактор Visual Basic (при помощи комбинации клавиш Alt + F11 ).
- Открываем меню Tools → пункт Options . В открывшемся окне переходим на вкладку General и деактивируем чекбокс Compile on Demand :
Не работают макросы в Excel: кто виноват и что делать?
Не работают макросы в Excel? Включите их выполнение, добавьте специальный модель с кодом, проверьте версию ОС и Эксель, убедитесь в соответствии пакета приложений, активируйте Майкрософт Офис, снимите блокировку файла, проверьте систему безопасности и применяемые библиотеки. Ниже подробно рассмотрим, в чем могут быть причины подобной неисправности, и какие шаги предпринимать для ее устранения.
Причины
Для начала стоит разобраться, почему не работает макрос в Excel, ведь от этого зависят дальнейшие шаги. К основным причинам стоит отнести:
- Функция отключена.
- Отключение отслеживания событий.
- Устаревшая операционная система.
- Несоответствие разработчика пакета офисных приложений.
- Устаревшая версия Майкрософт Офис.
- Неактивированная версия Excel.
- Заблокированный файл.
- Неправильные настройки безопасности.
- Отсутствие необходимой библиотеки и т. д.
Выше рассмотрены основные причины, почему не удается выполнить макрос в Excel. Все они могут быть решены самостоятельно с помощью приведенных ниже рекомендации. Подробнее на решении вопроса остановимся ниже.
Что делать
Многие пользователи теряются в ситуации, когда не включаются или вообще не работают макросы в Excel. Такая проблема не дает нормально пользоваться приложением и заставляет искать альтернативные варианты.
Включите опцию
Первое, что необходимо сделать — включить функцию для обеспечения ее работоспособности. Здесь многое зависит от версии Эксель.
Если не работают макросы в Excel 2003, сделайте следующие шаги:
- Войдите в «Сервис».
- Перейдите в раздел «Безопасность».
- Кликните «Уровень макросов «Низкий».
В случае, когда не работают макросы в Excel 2007, включите их следующим образом:
- Жмите на кнопку «Офис».
- Войдите в параметры Excel.
- Кликните на «Центр управления безопасности».
- Войдите в «Параметры центра управления безопасностью».
- Жмите на «Параметры макросов».
- Кликните на «Разрешить все …».
В ситуации, когда не работают макросы в Excel 2016, сделайте следующие шаги:
- Войдите в раздел «Файл».
- Кликните на кнопку «Параметры».
- Зайдите в «Центр управления безопасностью».
- Войдите в «Параметры центра управления безопасностью».
- Кликните на «Параметры …».
- Жмите на «Разрешить все …».
После внесения изменений параметра безопасности перезапустите приложение Excel, а именно закройте его полностью и откройте снова. Лишь после этого изменения вступают в силу.
Добавьте нужный модуль в книгу
Бывают ситуации, когда макросы включены, но не работают в Excel из-за отключения каким-либо элементом отслеживания событий. В таком случае сделайте следующее:
- Перейдите в редактор VBA с помощью клавиш Alt+F11.
- Вставьте указанный ниже код.
- Для выполнения кода поставьте курсор в любой точке между началом и концом.
- Кликните F5.
Проверьте операционную систему
В ситуации, когда не отображаются макросы в Excel, обратите внимание на тип операционной системы. К примеру, Майкрософт Офис, который подходит для Виндовс, на Мак ОС уже работать не будет. Причина в том, что в приложении используются разные библиотеки. Даже если надстройки и функционируют, могут быть сбои в работе. Вот почему при появлении проблем нужно проверить ОС на соответствие.
Обратите внимание на разработчика
Если в Экселе не работают макросы, причиной может быть другой разработчик. Так, пользователи Excel часто применяют OpenOffice или LibreOffice. Эти пакеты созданы на разных языках программирования, которые имеют индивидуальные особенности. Так, если надстройки написаны на Visual Basic for Application, он может не работать в указанных выше офисных приложениях. Вот почему необходимо уточнять, для какого пакета создан макрос / надстройка.
Проверьте версию Майкрософт Офис
В Макрософт Офис 2003 применяются надстройки xla для Excel. В современных версиях расширение поменялось на xlam. Если ставить макросы старого типа в приложения Офис 2007 и больше, никаких трудностей не происходит. Если же вы попытаетесь поставить новую надстройку на старую версию Excel, она зачастую не работает. Вот почему важно обратить внимание на этот параметр при выборе.
Убедитесь в наличии пакета VBA
Одной из причин, почему не запускается макрос в Excel, может быть отсутствие пакета VBA. Для успешного запуска надстройки необходимо, чтобы этот пакет был установлен. Иногда он уже установлен в Офис, но так происходит не всегда. Для проверки жмите комбинацию на Alt+F11. Если после этого появляется Visual Basic, компонент можно считать установленным. В ином случае его нужно поставить. Для этого:
- Зайдите в «Пуск», а далее «Панель управления / Программы и компоненты».
- Выберите программу Майкрософт Офис.
- Жмите на кнопку «Изменить».
- Запустить файл установки Setup.exe.
- Кликните на «Добавить или удалить компоненты».
- Выберите в списке Visual Basic и установите его.
Активируйте Офис
Если в Excel 2007 не работает кнопка «макросы», причиной может быть отсутствие активации приложения. Для этого жмите на кнопку «Активировать» и следуйте инструкции. В большинстве случаев такая опция является платной.
Снимите блокировку файла
Учтите, что документ, полученный с другого ПК / ноутбука, может заблокироваться. Для разблокировки файла нужно нажать ПКМ и в разделе «Общие» кликнуть на «Разблокировать».
Проверьте библиотеки
В случае, когда параметры макросов не активны в Excel, причиной может быть появление ошибки «Can’t find project or library». При этом, надстройка работает на другом ПК / ноутбуке, а здесь возникают проблемы. Ошибку легко устранить, если в окне, которое идет за сообщением об ошибке, снять отметки в полях Missing. Для вызова окна можно выбрать пункт меню Tools / References.
Проверьте настройки безопасности
В ситуации, когда не работают макросы в Excel, можно добавить надежные расположения или настроить доступ к объектной модели VBA. Для этого в Офис 2007 необходимо сделать следующее:
- Войдите в Меню
- Кликните на пункт «Параметры».
- Жмите на «Центр управления безопасностью».
- Войдите в «Параметры центра управления безопасностью».
- Кликните на «Параметры макросов» и «Доверять доступ к объектной модели проектов».
Зная, почему не работают макросы в Excel, вы можете с легкостью исправить проблему и восстановить работоспособность. Если же сложности в работе возникают, вы всегда можете воспользоваться инструкцией в статье.
В комментариях расскажите, какой из приведенных выше вариантов вам помог, и что еще можно сделать.
Среда 1: Windows 7 x86, MsOffice 2003
Среда 2: Windows 7 x64, MsOffice 2003
Среда 3: Windows XP x86, MsOffice 2003
Проблема:
Excel 2003, в файлах xls перестали работать кнопки ActiveX CommandButton, а также при попытке вставить на лист элемент управления ActiveX
получаем сообщение — Вставка объекта неосуществима.
Варианты решения:
1. Удаляем кэшированные объекты расширителей управления — файлы *.exd
«Cannot insert object» error in an ActiveX custom Office solution after you install the MS14-082 security update
https://support.microsoft.com/en-us/kb/3025036
Если вам это решение помогло, то на этом можно и закончить. А чтобы автоматизировать процесс, например, можно испльзовать код на vbs для
переименования файлов MSForms.exd —
http://stackoverflow.com/questions/27411399/microsoft-excel-activex-controls-disabled
—Public Sub RenameMSFormsFiles()—
2. Проверяем версию библиотеки FM20.DLL и проводим ее перерегистрацию (это для перестраховки, на случай некорректной установки обновления).
https://support.microsoft.com/en-us/kb/2553154
— устанавливает FM20.DLL v.14.0.7140.5001 (19-Nov-2014)
При данной версии dll проблемы не проявлялись
https://support.microsoft.com/en-us/kb/3054873
— устанавливает FM20.DLL v.14.0.7153.5001 (23-Jun-2015)
Что-то перестает работать + получаем сообщение — Вставка объекта неосуществима
Перерегистрация библиотеки (учитываем битность своей операционной системы):
x86
1. c:WindowsSystem32regsvr32.exe c:WindowsSystem32FM20.DLL /u
убеждаемся что раздела в реестре более не существует — [HKEY_CLASSES_ROOTCLSID{D7053240-CE69-11CD-A777-00DD01143C57}]
2. c:WindowsSystem32regsvr32.exe c:WindowsSystem32FM20.DLL
убеждаемся что раздел в реестре снова появился — [HKEY_CLASSES_ROOTCLSID{D7053240-CE69-11CD-A777-00DD01143C57}]
x64
1. c:WindowsSysWOW64regsvr32.exe c:WindowsSysWOW64FM20.DLL /u
убеждаемся что раздела в реестре более не существует — [HKEY_CLASSES_ROOTWow6432NodeCLSID{D7053240-CE69-11CD-A777-00DD01143C57}]
2. c:WindowsSysWOW64regsvr32.exe c:WindowsSysWOW64FM20.DLL
убеждаемся что раздел в реестре снова появился — [HKEY_CLASSES_ROOTWow6432NodeCLSID{D7053240-CE69-11CD-A777-00DD01143C57}]
3. Не помогло? Исследуем далее:
Используем Process Monitor.
Выставляем фильтры:
Фильтр 1: Path-Contains-COM Compatibility
Фильтр 2: Path-Contains-ActiveX Compatibility
Запускаем Excel, пытаемся вставить объект ActiveX — Кнопка и получаем сообщение — Вставка объекта неосуществима
Определяем разделы к которым шло обращение:
x86
HKLMSOFTWAREMicrosoftOfficeCommonCOM Compatibility{D7053240-CE69-11CD-A777-00DD01143C57}
HKLMSOFTWAREMicrosoftInternet ExplorerActiveX Compatibility{D7053240-CE69-11CD-A777-00DD01143C57}
x64
HKLMSOFTWAREWow6432NodeMicrosoftOfficeCommonCOM Compatibility{D7053240-CE69-11CD-A777-00DD01143C57}
HKLMSOFTWAREWow6432NodeMicrosoftInternet ExplorerActiveX Compatibility{D7053240-CE69-11CD-A777-00DD01143C57}
Определяем параметр к которому шло обращение — Compatibility Flags, тип REG_DWORD
Далее ищем источники информации и набираемся знаний
Security Settings for ActiveX controls and OLE objects in Office 2003 and in the 2007 Office suite —
https://support.microsoft.com/en-us/kb/2252664
Как отключить запуск элемента управления ActiveX в обозревателе Internet Explorer —
https://support.microsoft.com/ru-ru/kb/240797
Удаление элементов управления ActiveX в Windows —
https://support.microsoft.com/ru-ru/kb/154850
Managing ActiveX Control Loading —
https://msdn.microsoft.com/en-us/library/bb688194(v=vs.85).aspx
The following flags determine the behavior of registered Microsoft ActiveX controls —
https://msdn.microsoft.com/en-us/library/aa768234.aspx
The Kill-Bit FAQ: Part 1 of 3 —
https://blogs.technet.microsoft.com/srd/2008/02/06/the-kill-bit-faq-part-1-of-3/
The Kill-Bit FAQ: Part 2 of 3 —
https://blogs.technet.microsoft.com/srd/2008/02/07/the-kill-bit-faq-part-2-of-3/
The Kill-Bit FAQ: Part 3 of 3 —
https://blogs.technet.microsoft.com/srd/2008/02/08/the-kill-bit-faq-part-3-of-3/
Plan security settings for ActiveX controls for Office 2013 —
https://technet.microsoft.com/en-us/library/cc179076.aspx
4. Решение проблемы:
Наличие в данных разделах параметра Compatibility Flags со значением REG_DWORD = 0x400 отключает запуск элемента управления ActiveX
и приводит к сообщению — Вставка объекта неосуществима.
Вариантов решения несколько и что применить решать вам, т.к. это связано с безопасностью, запуск элемента был заблокирован не случайно, а для закрытия уязвимостей в системе.
Не забываем сохранить ветку реестра перед внесением изменений — любимая рекомендация майкрософт
4.1. изменить значение с 400, например, на 800000. Кроме того, может присутствовать параметр AlternateCLSID, который перенаправляет на другой CLSID и параметр Compatibility Flags не отрабатывает, поэтому удаляем AlternateCLSID.
4.2. не советую — удалить параметр Compatibility Flags из найденных разделов {D7053240-CE69-11CD-A777-00DD01143C57}
4.3. не советую — удалить сам раздел {D7053240-CE69-11CD-A777-00DD01143C57} из ..MicrosoftInternet ExplorerActiveX Compatibility или ..MicrosoftOfficeCommonCOM Compatibility
Вставка командной кнопки на рабочий лист для начинающих программировать с нуля. Кнопки из коллекций «Элементы управления формы» и «Элементы ActiveX».
Начинаем программировать с нуля
Часть 3. Первая кнопка
[Часть 1] [Часть 2] [Часть 3] [Часть 4]
Добавление вкладки «Разработчик»
Вкладка с инструментами, связанными с VBA Excel, называется «Разработчик». Если этой вкладки нет на вашей ленте, добавьте ее через окно «Параметры»:
Порядок действий:
- Откройте окно «Параметры» через меню «Файл».
- Выберите вкладку «Настроить ленту».
- В правой колонке установите галочку у пункта «Разработчик» и нажмите «OK».
Кнопка – элемент управления формы
Вставка кнопки на лист
- Выберите вкладку «Разработчик» и нажмите на кнопку «Вставить».
- Нажмите на значок кнопки в коллекции «Элементы управления формы».
- Кликните в любом месте на рабочем листе Excel.
- Откроется окно «Назначить макрос объекту». Нажмите «Отмена», так как макрос для этой кнопки еще не готов.
- После нажатия кнопки «Отмена», на рабочем листе появится новая кнопка из коллекции «Элементы управления формы» в режиме редактирования.
Ухватив мышкой за один из кружочков, можно изменить размер кнопки. Ухватив кнопку за границу, можно перетащить ее в другое место. Также, в режиме редактирования, можно изменить название кнопки прямо на ее поверхности.
Чтобы выйти из режима редактирования кнопки из коллекции «Элементы управления формы», кликните в любом месте на рабочем листе.
Чтобы вернуться в режим редактирования кнопки, кликните по ней правой кнопкой мыши и выберите из контекстного меню нужный пункт. Если вы хотите изменить размер или размещение кнопки перетаскиванием, кликните левой кнопкой мыши в любом месте рабочего листа. После первого клика контекстное меню закроется, а кнопка останется в режиме редактирования.
Создание процедуры для кнопки
Кнопке из коллекции «Элементы управления формы» можно назначить макрос (процедуру), размещенную в стандартном программном модуле.
Создайте или откройте файл Excel с расширением .xlsm (Книга Excel с поддержкой макросов) и перейдите в редактор VBA, нажав сочетание клавиш «Левая_клавиша_Alt+F11».
Если вы не создавали ранее в этом проекте VBA стандартный программный модуль, нажмите кнопку «Module» во вкладке «Insert» главного меню. То же подменю откроется при нажатии на вторую кнопку (после значка Excel) на панели инструментов.
Ссылка на модуль появится в проводнике слева. Если модуль создан ранее, дважды кликните по его ссылке в проводнике, и он откроется справа для редактирования.
Нажмите кнопку «Procedure…» во вкладке «Insert» главного меню. Та же ссылка будет доступна при нажатии на вторую кнопку после значка Excel на панели инструментов.
В открывшемся окне добавления шаблона процедуры оставьте выбранным переключатель «Sub», вставьте в поле «Name» название процедуры «NovayaProtsedura» и нажмите «OK».
В стандартный программный модуль будет вставлен шаблон процедуры «NovayaProtsedura».
Вставьте внутрь шаблона процедуры следующий код:
‘Записываем в ячейку A1 число 44 Cells(1, 1) = 44 ‘Записываем в ячейку B1 число 56 Cells(1, 2) = 56 ‘Записываем в ячейку C1 формулу, которая ‘вычисляет сумму значений ячеек A1 и B1 Cells(1, 3) = «=A1+B1» |
На этом процедура (подпрограмма, макрос) для кнопки готова.
Назначение макроса кнопке
Кликните правой кнопкой мыши по кнопке на рабочем листе и в контекстном меню выберите строку «Назначить макрос…», откроется окно «Назначить макрос объекту».
Выберите в списке процедуру «NovayaProtsedura» и нажмите «OK». Кликните левой кнопкой мыши по рабочему листу, чтобы командная кнопка вышла из режима редактирования.
Теперь можете нажать созданную кнопку из коллекции «Элементы управления формы» для проверки ее работоспособности.
Кнопка – элемент ActiveX
Вставка кнопки на лист
- Выберите вкладку «Разработчик» и нажмите на кнопку «Вставить».
- Нажмите на значок кнопки в коллекции «Элементы ActiveX».
- Кликните по рабочему листу и кнопка из коллекции «Элементы ActiveX» появится рядом с курсором.
- Автоматически включится режим редактирования, включение и отключение которого осуществляется кнопкой «Режим конструктора».
Ухватив кнопку за кружок, можно изменить ее размер, а ухватив за границу – перетащить на другое место. Чтобы отредактировать наименование кнопки, нужно кликнуть на ней правой кнопкой мыши и в контекстном меню выбрать «Объект CommandButton» > «Edit».
Добавление процедуры
Кликните дважды по кнопке из коллекции «Элементы ActiveX» левой кнопкой мыши в режиме конструктора. Это приведет к открытию модуля листа, на который вставлена кнопка, и записи шаблона процедуры «CommandButton1_Click».
Вставьте внутрь шаблона процедуры код, который будет очищать ячейки A1, B1 и C1:
Перейдите на рабочий лист и, если кнопка «Режим конструктора» затемнена, нажмите на нее, чтобы выйти из режима редактирования. После этого нажмите кнопку «CommandButton1», и она очистит ячейки, заполненные ранее нажатием кнопки «Кнопка 1».
Теперь кнопка из коллекции «Элементы управления формы» (Кнопка 1) будет заполнять ячейки диапазона «A1:C1», а кнопка из коллекции «Элементы ActiveX» (CommandButton1) очищать их.