Элементы управления activex в excel

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

Приложение 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 , т.к. элемент Счетчик в нашем случае возвращает значение года.

Читать еще:  Гпр в excel примеры

Чтобы определить значение какого элемента (поле со списком, список или счетчик) является активным в настоящий момент, в ячейке 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 они инициализируются с минимальными ограничениями (например, постоянные значения или значения по умолчанию, если постоянные данные не существуют).

Читать еще:  Excel день недели из даты

Включить все элементы управления без ограничений и запросов (не рекомендуется). Все элементы ActiveX в документах включаются с минимальными ограничениями.

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

Что представляет собой элемент ActiveX и какие риски с ним связаны

Элементы ActiveX — это небольшие стандартные блоки, используемые для создания приложений, работающих через Интернет в веб-браузере. Примерами могут служить пользовательские приложения для сбора данных, просмотра файлов определенных типов и показа анимации. Обычно элементы ActiveX используются в кнопках, списках и диалоговых окнах. В программах Office также можно использовать элементы ActiveX для расширения функциональности документов.

Риск и возможные последствия

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

Вопрос по userform, activex, vba, controls, excel &#8211 В чем разница между «Элементами управления» и «Элементом 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: Больше информации:

Похожие статьи

Ссылка на основную публикацию
Похожие публикации
Adblock
detector