Как сделать надстройку активной в excel?

Как установить надстройку для Excel 2003/2007/2010/2013/2016? Подключение надстроек в Excel

Установка надстроек в Excel 2003/2007/2010/2013/2016 процесс однотипный для всех версий, но имеет и некоторые различия. Условно можно разбить механизм установки надстроек в Excel на несколько шагов. Рассмотрим процедуру установки надстроек подробно для каждой из перечисленных версий Excel в отдельности. Для этого нам понадобится надстройка (чаще всего это файл с расширением .xla, но бывают и другие) и установленное приложение Excel со встроенным редактором Visual Basic.

Для тех кому лучше один раз увидеть — представлен видеоролик по установке и подключению.

Установка надстроек в Excel 2003

Шаг 1. Сохраняем файл надстройки на компьютер и запоминаем место его хранения (расположения).

Шаг 2. Запускаем приложение Excel 2003 и выбираем меню «Сервис»/»Надстройки. «

После выбора пункта меню «Надстройки. » появляется список доступных надстроек, которые можно подключать и отключать установкой и снятием галочек перед названиями соответствующих надстроек.

Шаг 3. Для добавления (подключения) новой надстройки, нажимаем кнопку «Обзор». При нажатии на эту кнопку, появляется вот такое окно «Обзор»:

Excel отправляет нас искать надстройки в папку с названием Addins и это не с проста. Именно здесь и должны располагаться файлы надстроек для максимально быстрого доступа к ним как приложения, так и самого пользователя. Размещение надстроек в папке Addins ускорит загрузку приложения Excel и подключение к ней надстройки (надстроек) при последующих запусках. Остается переместить файл надстройки с того места, которое мы запомнили в Шаге 1, в эту папку (можно и прямо в это окно, чтобы не искать саму папку на жестком диске). Если по каким-то причинам Вы не смогли, либо не захотели размещать свои надстройки в папке Addins, то через окно «Обзор» просто добираетесь до того места, куда сохранили файл надстройки. Дважды кликнув по выбранному файлу, Вы добавите его в список доступных надстроек. Вот собственно и все, надстройка установлена.

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

Установка надстроек в Excel 2007

Устанавливать надстройки в Excel 2007 не сложнее, чем в Excel 2003. Рассмотри по шагам.

Шаг 1. Сохраняем файл надстройки на компьютер и запоминаем место его хранения (расположения).

Шаг 2. Запускаем приложение Excel 2007, нажимаем кнопку «Office» и выбираем «Параметры Excel» как показано на рисунке

Шаг 3. В появившемся окне «Параметры Excel» в поле «Управление:» выбираем «Надстройки Excel» и жмем кнопку «Перейти. «

Шаг 4. В очередном окне с названием «Надстройки» появляется список доступных надстроек, которые можно подключать и отключать установкой и снятием галочек перед названиями соответствующих надстроек. Для добавления (подключения) новых надстроек, нажимаем кнопку «Обзор».

Появляется окно «Обзор», которое отправляет нас искать надстройки в папку с названием Addins и это не случайно.

Именно в этом месте и должны располагаться файлы надстроек для максимально быстрого доступа к ним как приложения, так и самих пользователей. Размещение надстроек в папке Addins ускоряет загрузку приложения Excel и подключение к нему надстройки (надстроек) при последующих запусках. Перемещаем (добавляем) в это окно (в эту папку) файл, который присутствовал в Шаге 1. Если по каким-то причинам Вы не смогли, либо не захотели расположить свои надстройки в папке Addins, то через окно «Обзор» просто добираетесь до того места, где был изначально сохранен файл надстройки. Дважды кликаете по выбранному файлу и надстройка доба вляется в список доступных надстроек. Все, надстройка установлена. Обращаю Ваше внимание на то, что если после установки файл надстройки будет перемещен в другое место жесткого диска, либо название папки, в которой он находится будет изменено, то весь процесс установки придется повторить заново.

Если Вы устанавливали готовые надстройки для Excel 2007, взятые с этого сайта, то после окончания процесса установки на ленте будет сформирована новая вкладка «Надстройки». При этом в настраиваемой панели инструментов будут отображены кнопки, запускающие макросы.

Установка надстройки в Excel 2010

Стоит заметить, что в Excel 2010 редактор Visual Basic устанавливается как отдельный компонент пакета с наименованием «Общие средства Office» и называется «Visual Basic для приложений». Узнать установлен ли у Вас редактор Visual Basic — очень просто. Нужно его запустить! О том как это сделать, можно прочитать отдельно. Если редактор Visual Basic не запустился — доустанавливаем его. Итак, переходим непосредственно к установке надстроек в Эксель!

Установить надстройку в Excel 2010 можно аналогично тому как это делается в Excel 2007.

Шаг 1. Сохраняем файл надстройки на компьютер и запоминаем место его хранения (расположения).

Шаг 2. Запускаем приложение Excel 2010, выбираем вкладку «Файл», а затем «Параметры Excel» как показано на рисунке

Шаг 3. В появившемся окне «Параметры Excel» в поле «Управление:» выбираем «Надстройки Excel» и жмем кнопку «Перейти. «

Шаг 4. В очередном окне с названием «Надстройки» появляется список доступных надстроек, которые можно подключать и отключать установкой и снятием галочек перед названиями соответствующих надстроек. Для добавления (подключения) новых надстроек, нажимаем кнопку «Обзор».

Появляется окно «Обзор», которое отправляет нас искать надстройки в папку с названием Addins и это имеет свой смысл.

Именно в этом месте и должны располагаться файлы надстроек для максимально быстрого доступа к ним как приложения, так и самих пользователей. Размещение надстроек в папке Addins ускоряет загрузку приложения Excel и подключение к нему надстройки (надстроек) при последующих запусках. Перемещаем (добавляем) в это окно (в эту папку) файл, который присутствовал в Шаге 1. Если по каким-то причинам Вы не смогли, либо не захотели расположить свои надстройки в папке Addins, то через окно «Обзор» просто добираетесь до того места, где был изначально сохранен файл надстройки. Дважды кликаете по выбранному файлу и надстройка добавляется в список доступных надстроек. Все, надстройка установлена. Обращаю Ваше внимание на то, что если после установки файл надстройки будет перемещен в другое место жесткого диска, либо название папки, в которой он находится будет изменено, то весь процесс установки придется повторить заново.

Если Вы устанавливали готовые надстройки для Excel 2010, взятые с этого сайта, то после окончания процесса установки на ленте будет сформирована новая вкладка «Надстройки». При этом в настраиваемой панели инструментов будут отображены кнопки, запускающие макросы.

Начиная с Excel 2010 появилась возможность установки надстроек на вкладке «Разработчик».

Установка надстройки в Excel 2013

Надстройки в Excel 2013 устанавливаются через Файл/Параметры/Надстройки после чего нажимается кнопка «Перейти» и в менеджере надстроек подключаются необходимые надстройки. Окно менеджера надстроек можно вызывать кнопкой, расположенной на вкладке «Разработчик».

Быстрая установка надстроек через вкладку «Разработчик»

Начиная с Excel 2010 на вкладку «Разработчик» добавлена новая группа кнопок «Надстройки». По умолчанию эта вкладка на ленте Excel отсутствует, для её отображения необходимо зайти в меню Файл/Параметры/Настройка ленты и в правой части диалогового окна установить флажок перед полем «Разработчик». После этого на ленте приложения появляется одноименная вкладка с группой кнопок «Надстройки». При помощи одной из них вызывается менеджер надстроек, в котором можно произвести выбор файла устанавливаемой надстройки.

При помощи кнопки, расположенной рядом, можно управлять COM-надстройками.

Установка, подключение и отключение надстроек в Excel 2016 и выше

Как и в более ранних версиях окно менеджера надстроек вызывается одним из двух способов, либо через меню Файл/Параметры/Надстройки/Перейти, либо через вкладку «Разработчик», которую предварительно необходимо отобразить на ленте.

Добавление и удаление надстроек в Excel

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

Надстройки расширяют диапазон команд и возможностей Microsoft Excel. По умолчанию они доступны не сразу, поэтому сначала их необходимо установить и (в некоторых случаях) активировать.

Вы ищете сведения о надстройках Office на основе HTML, CSS и JS? В этом случае ознакомьтесь со статьей получение надстройки Office для Excel.

Некоторые надстройки, такие как «Пакет анализа» и «Поиск решения», встроены в Excel. Другие доступны в Центре загрузки, и их необходимо предварительно скачать и установить. Кроме того, некоторые надстройки создаются сторонними организациями, например поставщиками программных решений или программистами. Это могут быть надстройки модели COM, надстройки Visual Basic для приложений (VBA) и надстройки DLL. Они также требуют установки.

Большинство надстроек можно разделить на три типа, описанных ниже.

Надстройки Excel. Обычно к этому типу относят файлы надстроек Excel (XLAM), Excel 97–2003 (XLA) и надстроек DLL (XLL), а также надстройки автоматизации. Некоторые надстройки Excel, такие как «Пакет анализа» и «Поиск решения», становятся доступны после установки Microsoft Office или Excel. Для использования этих надстроек в большинстве случаев нужно лишь активировать их.

Читать еще:  Как таблицу excel сделать онлайн?

Скачиваемые надстройки. Дополнительные надстройки для Excel можно скачать и установить со страницы Загрузки на сайте Office.com.

Пользовательские надстройки. Многие разработчики и поставщики решений создают пользовательские надстройки модели COM, надстройки автоматизации, VBA и XLL. Они требуют установки.

После установки надстройки или ее активации соответствующие команды становятся доступны в одном из указанных ниже мест.

Вкладка Данные. После установки и активации надстроек «Пакет анализа» и «Поиск решения» в группе Анализ становятся доступны команды Анализ данных и Поиск решения.

Вкладка Формулы. После установки и активации инструментов для евро в группе Решения становятся доступны команды Пересчет в евро и Формат евро.

Вкладка Надстройки. Другие надстройки можно добавить на вкладку Надстройки. Эта вкладка добавляется на ленту после установки и активации первой надстройки, которая должна отображаться на ней. Если вкладка надстройки не отображается, необходимо закрыть и перезапустить Excel.

Другие надстройки, такие как вкладка Начало работы, доступны в Excel в других местах, например в виде вкладки на ленте, или через макросы или пользовательские меню.

Важно: С помощью этой процедуры разработчики могут добавлять и удалять надстройки автоматизации перед разработкой программ установки и удаления данных надстроек.

Активация надстройки Excel

На вкладке Файл выберите команду Параметры, а затем — категорию Надстройки.

В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.

Откроется диалоговое окно Надстройки.

В поле Доступные надстройки установите флажок той надстройки, которую необходимо активировать, а затем нажмите кнопку ОК .

Если в окне Доступные надстройки не удается найти надстройку, которую требуется активировать, возможно, ее требуется установить.

Установка надстройки Excel

Чтобы установить надстройку, которая обычно устанавливается вместе с Excel, например «Пакет анализа» или «Поиск решения», запустите программу установки Excel или Microsoft Office и выберите вариант Изменить, а затем выберите требуемую надстройку. После перезапуска Excel она должна появиться в поле Доступные надстройки.

Некоторые надстройки Excel хранятся на компьютере. Чтобы установить или активировать их, нажмите кнопку Обзор (в диалоговом окне Надстройки), найдите надстройку, а затем нажмите кнопку ОК.

Некоторые надстройки Excel требуют запуска пакета установки. В этом случае может потребоваться загрузить или скопировать пакет установки на компьютер (обычно пакеты установки имеют расширение MSI), а затем запустить его.

Другие надстройки, отсутствующие на компьютере, можно скачать и установить с помощью веб-браузера со страницы Загрузки или с других сайтов в Интернете или на сервере организации. Чтобы скачать их, следуйте инструкциям по установке.

Отключение надстройки Excel

На вкладке Файл выберите команду Параметры, а затем — категорию Надстройки.

В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.

В поле Доступные надстройки снимите флажок той надстройки, которую нужно деактивировать, а затем нажмите кнопку ОК .

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

Примечание. При деактивации надстройки она не удаляется с компьютера. Чтобы удалить надстройку с компьютера, необходимо воспользоваться средством установки/удаления программ.

Удаление надстройки Excel

Важно: Если надстройка Excel была установлена с сетевого файлового сервера или из общей папки, удалять ее, возможно, потребуется там же. Если надстройка Excel была установлена с компакт-диска, а после установки буква диска для дисковода компакт-дисков была изменена, следует выполнить повторную установку надстройки с компакт-диска. При запуске надстроек Excel с компакт-диска необходимо сначала удалить их с компьютера, а затем выполнить повторную установку с компакт-диска.

Откройте вкладку Файл и выберите пункт Выход.

Выберите в панели управления пункт Программы и компоненты (для Windows 7 и Windows Vista) или Установка и удаление программ (для Windows XP).

Выполните одно из указанных ниже действий.

Если приложение Excel было установлено в составе пакета Microsoft Office, в списке установленных программ выберите пункт Microsoft Office, а затем нажмите кнопку Заменить.

Если приложение Excel было установлено отдельно, в списке установленных программ выберите название программы, а затем нажмите кнопку Заменить.

Если вы установили надстройку из Центра загрузки, выберите имя программы в списке установленных и нажмите кнопку Удалить.

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

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

Добавление надстройки COM

На вкладке Файл выберите команду Параметры, а затем — категорию Надстройки.

В списке Управление нажмите Надстройки COM, а затем — Перейти.

Откроется диалоговое окно Надстройки COM.

В поле Доступные надстройки установите флажок для той надстройки, которую необходимо установить, и нажмите кнопку ОК.

Совет Если нужная надстройка отсутствует в поле Список надстроек, нажмите кнопку Добавить, а затем найдите надстройку.

Удаление надстройки COM

На вкладке Файл выберите команду Параметры, а затем — категорию Надстройки.

В списке Управление нажмите Надстройки COM, а затем — Перейти.

Откроется диалоговое окно Надстройки COM.

В поле Список надстроек снимите флажок той надстройки, которую нужно удалить, а затем нажмите кнопку ОК .

Примечание. В результате надстройка будет удалена из памяти, но ее имя останется в списке доступных надстроек. Надстройка не будет удалена с компьютера.

Чтобы удалить надстройку COM из списка доступных надстроек и с компьютера, щелкните ее имя в поле Список надстроек, а затем нажмите кнопку Удалить.

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

На вкладке Файл выберите команду Параметры, а затем — категорию Надстройки.

В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.

Откроется диалоговое окно Надстройки.

Чтобы установить надстройку автоматизации, в поле Доступные серверы автоматизации выберите пункт Автоматизация и щелкните нужную надстройку.

Совет Если нужной надстройки нет в списке, нажмите кнопку Обзор , найдите нужную надстройку, а затем нажмите кнопку ОК .

Чтобы удалить надстройку автоматизации, ее нужно удалить из реестра. За дополнительными сведениями обратитесь к системному администратору.

Некоторые надстройки, такие как «Пакет анализа» и «Поиск решения», встроены в Excel. Другие доступны в Центре загрузки, и их необходимо предварительно скачать и установить. Кроме того, некоторые надстройки создаются сторонними организациями, например поставщиками программных решений или программистами. Это могут быть надстройки модели COM, надстройки Visual Basic для приложений (VBA) и надстройки DLL. Они также требуют установки.

Большинство надстроек можно разделить на три типа, описанных ниже.

Надстройки Excel. Обычно к этому типу относят файлы надстроек Excel (XLAM), Excel 97–2003 (XLA) и надстроек DLL (XLL), а также надстройки автоматизации. Некоторые надстройки Excel, такие как «Пакет анализа» и «Поиск решения», становятся доступны после установки Microsoft Office или Excel. Для использования этих надстроек в большинстве случаев нужно лишь активировать их.

Скачиваемые надстройки. Дополнительные надстройки для Excel можно скачать и установить со страницы Загрузки на сайте Office.com.

Пользовательские надстройки. Многие разработчики и поставщики решений создают пользовательские надстройки модели COM, надстройки автоматизации, VBA и XLL. Они требуют установки.

После установки надстройки или ее активации соответствующие команды становятся доступны в одном из указанных ниже мест.

Вкладка Данные. После установки и активации надстроек «пакет анализа» и «Поиск решения» команды » анализ данных» и «Поиск решения» доступны на вкладке » данные » на ленте.

Вкладка » Главная «. Другие надстройки можно добавить на вкладку » Главная «.

Другие надстройки, такие как вкладка Начало работы, доступны в Excel в других местах, например в виде вкладки на ленте, или через макросы или пользовательские меню.

Важно: С помощью этой процедуры разработчики могут добавлять и удалять надстройки автоматизации перед разработкой программ установки и удаления данных надстроек.

Активация предварительно установленной надстройки Excel

В меню Сервис выберите пункт надстройки.

В диалоговом окне Доступные надстройки установите флажок для надстройки, которую требуется активировать, и нажмите кнопку ОК.

Установка надстройки Excel

Некоторые надстройки Excel находятся на вашем компьютере и могут быть установлены или активированы с помощью кнопки Обзор (в диалоговом окне » надстройки » выше), чтобы найти надстройку, а затем нажмите кнопку ОК.

Некоторые надстройки Excel требуют запуска пакета установки. В этом случае может потребоваться загрузить или скопировать пакет установки на компьютер (обычно пакеты установки имеют расширение MSI), а затем запустить его.

Другие надстройки, недоступные на вашем компьютере, можно скачать и установить с помощью веб-браузера из загрузок или с других сайтов в Интернете, с сервера в организации или с помощью встроенного параметра » магазин » в Excel. Чтобы скачать их, следуйте инструкциям по установке.

Установка надстроек из магазина

Откройте вкладку Вставка на ленте.

Нажмите кнопку магазин .

Чтобы найти надстройки, используйте поле » категории » или » Поиск «.

Нажмите кнопку Добавить , чтобы установить надстройку.

Примечание: Некоторые надстройки должны быть приобретены.

Удаление надстройки Excel

На вкладке Вставка нажмите кнопку Моинадстройки.

В надстройках Officeщелкните меню 3 точки рядом с надстройкой.

Прочитайте уведомление о других устройствах и нажмите кнопку Удалить.

Как создать свою надстройку для Microsoft Excel

Даже если вы не умеете программировать, то существует множество мест (книги, сайты, форумы), где можно найти готовый код макросов на VBA для огромного количества типовых задач в Excel. По моему опыту, большинство пользователей рано или поздно собирают свою личную коллекцию макросов для автоматизации рутинных процессов, будь то перевод формул в значения, вывод суммы прописью или суммирования ячеек по цвету. И тут встает проблема — код макросов на Visual Basic нужно где-то хранить, чтобы потом использовать в работе.

Читать еще:  Как сделать таблицу список в excel?

Самый простой вариант — сохранять код макросов прямо в рабочем файле, зайдя в редактор Visual Basic с помощью сочетания клавиш Alt + F11 и добавив новый пустой модуль через меню Insert — Module:

При таком способе возникает, однако, несколько неудобств:

  • Если рабочих файлов много, а макрос нужен везде, как например макрос преобразования формул в значения, то и копировать код придется в каждую книгу.
  • Нужно не забыть сохранить файл в формате с поддержкой макросов (xlsm) или в формате двоичной книги (xlsb).
  • При открытии такого файла защита от макросов будет каждый раз выдавать предупреждение, которое нужно подтвердить (ну, или отключить защиту полностью, что может быть не всегда желательно).

Более изящным решением будет создание своей собственной надстройки (Excel Add-in) — отдельного файла особого формата (xlam), содержащего все ваши «любимые» макросы. Плюсы такого подхода:

  • Достаточно будет один раз подключить надстройку в Excel — и можно будет использовать её VBA процедуры и функции в любом файле на этом компьютере. Пересохранять ваши рабочие файлы в xlsm- и xlsb-форматы, таким образом, не потребуется, т.к. исходный код будет храниться не в них, а в файле надстройки.
  • Защита от макросов вас тоже беспокоить уже не будет, т.к. надстройки по определению входят в доверенные источники.
  • Можно сделать отдельную вкладку на ленте Excel с красивыми кнопками для запуска макросов надстройки.
  • Надстройка — это отдельный файл. Его легко переносить с компьютера на компьютер, делиться им с коллегами или даже продавать 😉

Давайте рассмотрим весь процесс создания своей собственной надстройки для Microsoft Excel по шагам.

Шаг 1. Создаем файл надстройки

Открываем Microsoft Excel с пустой книгой и сохраняем ее под любым подходящим именем (например MyExcelAddin) в формате надстройки с помощью команды Файл — Сохранить как или клавиши F12 , указав тип файла Надстройка Excel (Excel Add-in):

Обратите внимание, что стандартно Excel хранит надстройки в папке C:UsersВаше_имяAppDataRoamingMicrosoftAddIns, но, в приниципе, можно указать любую другую удобную вам папку.

Шаг 2. Подключаем созданную надстройку

Теперь созданную нами на прошлом шаге надстройку MyExcelAddin надо подключить к Excel. Для этого идем в меню Файл — Параметры — Надстройки (File — Options — Add-Ins) , жмем на кнопку Перейти (Go) в нижней части окна. В открывшемся окне жмем кнопку Обзор (Browse) и указываем положение нашего файла надстройки.

Если вы все сделали правильно, то наша MyExcelAddin должна появиться в списке доступных надстроек:

Шаг 3. Добавляем в надстройку макросы

Наша надстройка подключена к Excel и успешно работает, но в ней нет пока ни одного макроса. Давайте её наполним. Для этого нужно открыть редактор Visual Basic сочетанием клавиш Alt + F11 или кнопкой Visual Basic на вкладке Разработчик (Developer) . Если вкладки Разработчик не видно, то её можно отобразить через Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon) .

В левом верхнем углу редактора должно быть окно Project (если его не видно, то включите его через меню View — Project Explorer):

В этом окне отображаются все открытые книги и запущенные надстройки Microsoft Excel, в том числе и наша VBAProject (MyExcelAddin.xlam) Выделите её мышью и добавьте в неё новый модуль через меню Insert — Module. В этом модуле мы и будем хранить VBA-код наших макросов надстройки.

Код можно либо набрать «с нуля» (если вы умеете программировать), либо скопировать откуда-нибудь уже готовый (что гораздо проще). Давайте, для пробы, введем в добавленный пустой модуль код простого, но полезного макроса:

После набора кода не забудьте нажать на кнопку сохранения (дискетку) в левом верхнем углу.

Наш макрос FormulasToValues, как легко сообразить, преобразует формулы в значения в выделенном предварительно диапазоне. Иногда такие макросы называют еще процедурами. Чтобы его запустить, нужно выделить ячейки с формулами и открыть специальное диалоговое окно Макросы с вкладки Разработчик (Developer — Macros) или сочетанием клавиш Alt + F8 . Обычно в этом окне отображаются доступные макросы из всех открытых книг, но макросы надстроек здесь не видны. Несмотря на это, мы можем ввести имя нашей процедуры в поле Имя макроса (Macro name) , а затем нажать кнопку Выполнить (Run) — и наш макрос заработает:

При назначении клавиш имейте ввиду, что здесь учитывается регистр и раскладка клавиатуры. Поэтому, если вы назначите сочетание, например, Ctrl + Й , то, по факту, вам придется в будущем следить за тем, чтобы у вас была включена именно русская раскладка и жать дополнительно Shift , чтобы получить заглавную букву.

Для удобства можно добавить и кнопку для нашего макроса на панель быстрого доступа в левом верхнем углу окна. Для этого выберите Файл — Параметры — Панель быстрого доступа (File — Options — Customize Quick Access Toolbar) , а затем в выпадающем списке в верхней части окна опцию Макросы. После этого наш макрос FormulasToValues можно поместить на панель кнопкой Добавить (Add) и выбрать для него значок кнопкой Изменить (Edit) :

Шаг 4. Добавляем в надстройку функции

Кроме макросов-процедур, существуют еще и макросы-функции или как их еще называют UDF (User Defined Function = пользовательская функция). Давайте создадим в нашей надстройке отдельный модуль (команда меню Insert — Module) и вставим туда код такой функции:

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

Заметьте, что синтаксис функции отличается от процедуры:

  • используется конструкция Function . End Function вместо Sub . End Sub
  • после названия функции в скобках указываются её аргументы
  • в теле функции производятся необходимые вычисления и затем результат присваивается переменной с названием функции

Также обратите внимание, что эту функцию не нужно, да и невозможно запустить как предыдущий макрос-процедуру через диалоговое окно Макросы и кнопку Выполнить. Такую макрофункцию нужно использовать как стандартную функцию листа (СУММ, ЕСЛИ, ВПР. ), т.е. просто ввести в любую ячейку, указав в качестве аргумента значение суммы с НДС:

. или ввести через стандартное диалоговое окно вставки функции (кнопка fx в строке формул), выбрав категорию Определенные пользователем (User Defined) :

Единственный неприятный момент здесь — это отсутствие привычного описания функции в нижней части окна. Чтобы его добавить придется проделать следующие действия:

  1. Откройте редактор Visual Basic сочетанием клавиш Alt + F11
  2. Выделите надстройку в панели Project и нажмите клавишу F2 , чтобы открыть окно Object Browser
  3. Выберите в верхней части окна в выпадающем списке свой проект надстройки
  4. Щелкните по появившейся функции правой кнопкой мыши и выберите команду Properties.
  5. Введите описание функции в окно Description
  6. Сохраните файл надстройки и перезапустите Excel.

После перезапуска у функции должно отобразиться описание, которое мы ввели:

Шаг 5. Создаем вкладку надстройки в интерфейсе

Финальным, хоть и не обязательным, но приятным штрихом будет создание отдельной вкладки с кнопкой запуска нашего макроса, которая будет появляться в интерфейсе Excel после подключения нашей надстройки.

Информация об отображаемых вкладках по умолчанию содержится внутри книги и должна быть оформлена в виде специального XML-кода. Проще всего писать и редактировать такой код с помощью специальных программ — XML-редакторов. Одна из самых удобных (и бесплатных) — это программа Максима Новикова Ribbon XML Editor.

Алгоритм работы с ней следующий:

  1. Закройте все окна Excel, чтобы не было конфликта файлов, когда мы будем редактировать XML-код надстройки.
  2. Запустите программу Ribbon XML Editor и откройте в ней наш файл MyExcelAddin.xlam
  3. При помощи кнопки tabs в левом верхнем углу добавьте заготовку кода для новой вкладки:

В пустые кавычки нужно вписать id нашей вкладки и группы (любые уникальные идентификаторы), а в label — названия нашей вкладки и группы кнопок на ней:

При помощи кнопки button на панели слева добавляем заготовку кода для кнопки и дописываем к ней теги:

— label — это текст на кнопке
— imageMso — это условное название изображения на кнопке. Я использовал иконку с красной кнопкой, которая имеет название AnimationCustomAddExitDialog. Названия всех доступных кнопок (а их несколько сотен!) можно найти на большом количестве сайтов в интернете, если искать по ключевым словам «imageMso». Для начала можно сходить сюда.
onAction — это имя процедуры обратного вызова — специального короткого макроса, который будет запускать наш основной макрос FormulasToValues. Назвать эту процедуру можно как угодно. Мы добавим её чуть позже.

  • Проверить правильность всего сделанного можно с помощью кнопки с зеленой галочкой сверху на панели инструментов. Там же рядом нажмите на кнопку с дискетой для сохранения всех изменений.
  • Закрываем Ribbon XML Editor
  • Открываем Excel, заходим в редактор Visual Basic и добавляем к нашему макросу процедуру обратного вызова KillFormulas, чтобы она запускала наш основной макрос замены формул на значения.


    Сохраняем внесенные изменения и, вернувшись в Excel проверяем результат:


    Вот и всё — надстройка готова к использованию. Наполните её своими процедурами и функциями, добавьте красивые кнопки — и использовать макросы в работе станет намного проще.

    Туториал: создание VBA-надстройки с отдельной вкладкой в MS Excel

    Многие из тех, кто часто работает в MS Excel, собрали коллекцию макросов на VBA, которые облегчают их ежедневный труд. У кого-то эти макросы хранятся в отдельной книге, кто-то собрал их в «личной книге макросов» (personal.xlsb), доступной на уровне всего приложения, и вручную добавил кнопки вызова нужных скриптов на панель инструментов. В первом случае коллекцией удобно делиться с коллегами — достаточно переслать файл, но чтобы ей воспользоваться, необходимо каждый раз открывать эту книгу. Во втором случае доступ к функциональности есть сразу при запуске Excel, но могут возникнуть проблемы с передачей наработок другим пользователям.

    В данном посте описан способ создания VBA-настройки с пользовательской панелью инструментов на ленте Excel (Ribbon), которая позволяет воспользоваться преимуществами обоих подходов. Это файл в формате xlam, который можно передавать как обычную Excel-книгу. При её открытии пользователь видит появившуюся панель инструментов, которая даёт доступ к функциональности надстройки:

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

    Используемые инструменты: MS Excel, 7zip, Visual Sudio Code. Последние два необязательны, подойдёт любой архиватор с поддержкой zip-формата и любой текстовый редактор, умеющий в UTF-8 (если Вы хотите использовать кириллицу).

    Также желательно обладать базовым представлением о формате XML.

    Код и результат в виде книги xlsm можно найти на гитхабе:

    Итак, для начала откроем новую книгу, и добавим модуль с образцом кода:

    Сохраним книгу в формате xlsm (книга с поддержкой макросов). Современные форматы документов MS Office (xlsx, xlsm, docx, docm, pptx и т.д.) основаны на стандарте OpenXML и представляют из себя обычный zip-архив, который состоит из компонентов (например, XML-файлы, соответствующие листам, изображения, бинарный контент и прочее), а также файлов отношений (.rels), которые задают структуру всего документа, путём ссылок на компоненты.

    Чтобы получить доступ к внутреннему содержимому книги, можно переименовать файл Sample.xlsm в Sample.zip , после чего открыть его любым архиватором. Некоторые архиваторы, например 7zip, умеют открывать файлы напрямую, без изменения имени файла:

    Чтобы добавить ribbon-панель, нам нужно будет создать новый компонент customUI/customUI.xml, а также добавить ссылку на него в корневой файл отношений _rels/.rels

    Разархивируем весь документ в отдельную папку («Распаковать в «Sample»»), и создадим в ней новую папку customUI:

    Теперь добавим собственно компонент:

    Ниже приводится текстовая версия содержимого customUI.xml

    Коротко расскажу о важных элементах и атрибутах.

    Значения идентификаторов (атрибут id) должны быть уникальными. Для некоторых элементов (например, tab — в случае, если Вы объявляете новую вкладку, а не существующую, путем указания idMso) также обязательно указать label — иначе Excel не отобразит этот элемент.

    С помощью атрибута imageMso можно определить иконку элемента из числа имеющихся в MS Office. Список доступных значений весьма объемный, поэтому здесь приводить не буду — он легко гуглится.

    Элемент button — обычная кнопка. В зависимости от атрибута size может быть маленького размера или большой, во всю высоту вкладки.

    Атрибут onAction задаёт название процедуры, которая будет выполнена при основном взаимодействии с элементом (например, при нажатии на кнопку button). Процедура должна иметь определённую сигнатуру (количество и тип аргументов), их можно найти в спецификации. Например, метод для onAction у элемента button принимает один аргумент типа IRibbonControl.

    Название этого метода также не должно совпадать с названием модуля (либо необходимо явно указать имя модуля перед именем самого метода: «Module1.SayHelloWorld«).

    Атрибут keytip поможет в навигации с помощью клавиатуры — с помощью клавиши Alt можно осуществлять навигацию по вкладкам MS Excel.

    Вы можете скопировать образец вёрстки на официальном сайте с документацией от Microsoft:

    Для тех, кто хочет подробно изучить стандарт, есть спецификация, также на docs.microsoft.com :

    Обратите внимание, что при наличии не-ASCII символов (например, кириллицы) файл следует сохранить в кодировке UTF-8, иначе Вы можете столкнуться с тем, что Excel не будет отображать новую вкладку.

    Чтобы MS Excel «увидел» и «понял», что за компонент мы добавили, нужно указать ссылку на него в корневом файле отношений, который лежит в папке _rels, и называется .rels

    Он также имеет xml-формат, и для удобства можно отформатировать его (в VS Code для этого есть команда: Ctrl-Shift-P -> Format Document).

    Добавляем элемент Relashionship, указав путь к customUI.xml, тип компонента, а также идентификатор (не имеет значения, какой именно. Главное, чтобы он был уникальным среди других элементов Relashionship):

    Добавляю текст отношения для удобства копирования (чтобы парсер не «съел» URL, добавил пробел перед .com — не забудьте его убрать при копировании)

    Теперь заархивируйте обратно все файлы, и верните исходное имя файла Sample.xlsm

    Если всё было сделано правильно, то при открытии книги Вы увидите новую вкладку на ленте:

    Однако при попытке запустить макрос HelloWorld Вы можете столкнуться с таким предупреждением:

    Wrong number of arguments or invalid property assignment

    Это связано с тем, что функция-коллбэк должна иметь определенную сигнатуру. Так, обработчик нажатия на кнопку button должен выглядеть следующим образом:

    Добавьте аргумент «rc As IRibbonControl», и Вы увидите долгожданное приветствие:

    Список сигнатур можно найти на сайте документации Microsoft

    Теперь осталось лишь сохранить книгу с макросами как надстройку. В редакторе VBE выберите объект ThisWorkbook и установите свойство IsAddin в значение True.

    Теперь нужно сохранить книгу в новом формате (Excel предупредит об этом, если Вы попытаетесь сохранить книгу нажатием Ctrl-S)

    Теперь надстройку можно открыть, как обычную книгу Excel. Она не будет отображаться в отдельном окне, как книга, но её можно увидеть в Project Explorer’е редактора VBE:

    Для того, чтобы надстройка была доступна сразу при запуске Excel, установите её в меню Excel Add-ins на вкладке разработчика.

    . или через настройки Excel, в разделе Надстройки (Add-ins)

    Готово! Теперь Вы можете использовать надстройку при работе с любым документом, а также легко делиться своими наработками с коллегами, просто пересылая файл надстройки.

    P.S. В качестве бонуса приведу примеры использования различных элементов в Custom UI

    toggleButton — кнопка, которая может быть в двух состояниях

    splitButton — составной компонент из button или toggleButton и выпадающего меню

    dropDown — выпадающее меню с заранее определённым набором элементов

    comboBox — интерактивное поле ввода, которое может содержать заранее определённый набор элементов

    dynamicMenu — выпадающий список, элементы которого определяются динамически в методе getContent

    checkBox — чекбокс, который может быть в двух состояниях

    Разметка и код VBA модуля ниже, также их можно найти на гитхабе

    VBA модуль SampleControls

    Public Sub OnSplitButton1Click(rc As IRibbonControl)

    MsgBox «Split button 1 was clicked»

    Public Sub OnSplitButton2Click(rc As IRibbonControl)

    MsgBox «Split button 2 was clicked»

    Public Sub OnToggleButtonClick(rc As IRibbonControl, isButtonPressed As Boolean)

    MsgBox «Toggle button was toggled, button now is » & IIf(isButtonPressed, «pressed», «not pressed»)

    Public Sub OnDropDownSelected(rc As IRibbonControl, selectedItemId As String, selectedItemIndex As Integer)

    MsgBox «DropDown was changed, selected item id is » & selectedItemId

    Public Sub OnComboBoxSelected(rc As IRibbonControl, comboBoxValue As String)

    MsgBox «Combo box was changed, value is » & comboBoxValue

    Public Sub GetMenuContent(rc As IRibbonControl, ByRef returnedVal)

    Dim xml As String

    Public Sub OnCheckBoxToggled(rc As IRibbonControl, isButtonChecked As Boolean)

    MsgBox «Check box was toggled, value is » & IIf(isButtonChecked, «checked», «not checked»)

    Public Sub OnHelpPressed(rc As IRibbonControl)

    MsgBox «Help button pressed»

    Public Sub OnFindPressed(rc As IRibbonControl)

    MsgBox «Find button pressed»

    Более подробная информация о различных элементах Custom UI есть в документации:

    P.P.S. Дополнительный бонус для тех кто дочитал до конца — горячие клавиши редактора VBE

    Навигация по редактору

    Ctrl-R — перейти в окно проектов (Project Explorer)

    F4 — перейти к свойствам

    Ctrl-G — перейти к Immediate window

    F7 — перейти в окно редактора кода

    Ctrl-Tab (Ctrl-Shift-Tab) — переключение между открытыми окнами модулей

    Ctrl-F4 -закрыть текущий модуль

    Alt-F11 — открыть редактор кода VBE

    Редактирование и навигация по коду

    Ctrl-J — показать доступные варианты (IntelliSense)

    Ctrl-I — показать информацию о методе (аргументах)

    Shift-F2 — перейти к определению переменной/метода

    F5 — запустить макрос/продолжить исполнение

    F8 — шаг вперёд (с заходом во вложенные функции)

    Shift-F8 — шаг вперёд (без захода вглубь)

    F9 — установить/снять точку останова (breakpoint)

    Shift-F9 — добавить наблюдателя (quick watch)

    Ctrl-L — показать стек вызовов (кликабельный)

    Часто люди, работающие в офисных приложениях (Excel, Word), вынуждены совершать рутинные действия — сведение однотипных отчётов, поиск ошибок и т.д. Для автоматизации такой работы предусмотрен язык программирования — Visual Basic for Applications (VBA), тесно интегрированный с офисным приложением. Программы, написанные на нём, называют макросами.

    Иногда таких наработок становится много, сами они становятся большими — и возникает необходимость как-то их организовать, хранить, делиться с другими пользователями и удобно запускать. Вариантов несколько:

    1. Сохранить в одном или нескольких документах, сохранённых в формате с поддержкой макросов (docm, xlsm). Они выглядят как обычный документ или книга, но помимо обычного содержимого, также включают в себя макросы.

    2. Сохранять их в личной книге макросов. Эта штука доступна на уровне приложения, запускаемого под текущим пользователем Windows. Но она лежит где-то в недрах %appdata%, и рядовой пользователь вряд ли станет её искать, чтобы скинуть коллеге.

    3. Организовать коллекцию макросов в виде вышеописанной надстройки, которая будет представлена самостоятельным файлом xlam, который может быть отправлен, например, по почте. При этом можно сравнительно легко установить её на уровне приложения — и вкладка, предоставляющая реализованные функции, будет доступна в любом открытом документе.

  • Ссылка на основную публикацию
    Adblock
    detector