Где найти надстройки в excel 2007
Если пользователь давно и плотно работает с Excel, то рано или поздно у него собирается приличное количество макросов для автоматизации своей работы. Если хранить код макроса в рабочем файле, возникают следующие трудности:
- при открытии такого файла будет каждый раз срабатывать защита от макросов и нужно будет всякий раз подтверждать исключение безопасности или отключить защиту полностью, что небезопасно;
- если макрос нужен везде, то и копировать код его придется в каждую книгу;
- сохранять файл нужно в формате с поддержкой макросов (xlsm) или в формате двоичной книги (xlsb).
Если макросов много, а используются они часто более рационально будет создание собственной надстройки Excel - отдельного файла особого формата (xla – Excel2003, xlam – Excel2010 и старше), содержащего все макросы.
Плюсы такого подхода очевидны:
- больше не будет срабатывать защита от макросов, потому что надстройки по определению входят в доверенные источники;
- однократное подключение надстройки в Excel. Теперь её VBA процедуры и функции можно будет использовать в любом файле на компьютере. Сохранять ваши рабочие файлы в xlsm- и xlsb-форматы, также не требуется потому, что исходный текст будет храниться не в них, а в файле надстройки.
- можно сделать отдельную вкладку на ленте Excel для запуска макросов надстройки.
- Надстройку легко переносить с компьютера на компьютер - это отдельный файл.
Рассмотрим процесс создания своей собственной надстройки для Excel на примере Excel 2010.
1. Создать файл надстройки
Открываем Excel с пустой книгой и сохраняем ее в формате надстройки с помощью команды Файл - Сохранить как, например, Excel Plus ), указав тип файла Надстройка Excel (Excel Add-in) :
По умолчанию Excel хранит надстройки в папке C:\Users\<Учетная запись пользователя >\AppData\Roaming\Microsoft\AddIns , но можно указать и любую другую папку.
2. Подключить созданную надстройку
Теперь созданную нами на прошлом шаге надстройку ExcelPlus надо подключить к Excel. Для этого в меню Файл - Параметры - Надстройки , жмем на кнопку Перейти в нижней части окна:
Если вы скопировали файл надстройки в папку по умолчанию, то новая надстройка ExcelPlus должна появиться в списке доступных надстроек:
Либо в этом окне жмем Обзор и указываем положение нашего файла надстройки.
Ставим флажок напротив названия настройки и жмем ОК.
3. Добавить макросы в надстройку
Теперь надстройка подключена к Excel, но она не может работать, так как в ней отсутствуют макросы. Добавим макрос в надстройку. Для этого откроем редактор VBA по Alt+F11 или кнопкой Visual Basic на вкладке Разработчик :
В левом верхнем углу редактора должно быть окно Project
В этом окне отображаются все открытые книги и запущенные надстройки Excel, в том числе и наша надстройка - VBAProject ( ExcelPlus.xlam) Выделите её мышью и добавьте в неё новый модуль через меню Insert - Module .
В этом модуле будет хранится VBA-код макросов надстройки.
Добавим в добавленный пустой модуль код макроса, который производит поиск в тексте кириллических символов:
После вставки кода нужно нажать на кнопку сохранения дискетку в левом верхнем углу.
Такие макросы как FindCyr называют еще процедурами . Макросы в составе надстроек можно запустить также как обычные макросы:
- при помощи сочетания клавиш Alt+F8 , а затем нажать кнопку Выполнить (макросы надстроек здесь не видны. Несмотря на это, мы можем ввести имя нашей процедуры в поле Имя макроса );
- назначить сочетание клавиш для быстрого запуска макроса - кнопка Параметры в окне Макрос
- создать кнопку для нашего макроса на панели быстрого доступа в левом верхнем углу окна.
Подробнее и с картинками о способах запуска макроса написано здесь.
Мы же позже разберем, как создать отдельную вкладку на ленте Excel для запуска макросов надстройки, но сначала рассмотрим добавление в надстройку пользовательских функций.
4. Добавить функции в надстройку
Кроме макросов-процедур , существуют еще и макросы-функции или пользовательская функция. Создадим в нашей надстройке еще один модуль меню Insert - Module и вставим туда код функции, которая находит сумму ячеек нужного цвета:
Отличие функции от процедуры заключается в том, что результат функции всегда присваивается переменной с названием функции.
Функцию невозможно запустить как предыдущий макрос-процедуру через диалоговое окно Макросы и кнопку Выполнить . Ее нужно использовать как стандартную функцию листа (СУММ, ЕСЛИ, . ), т.е. просто ввести в любую ячейку, указав в качестве аргументов ячейку с цветом-образцом и диапазон суммирования:
Или ввести через стандартное диалоговое окно вставки функции (кнопка fx в строке формул), выбрав категорию Определенные пользователем :
У созданных пользователем функций отсутствует описание функции в нижней части окна. Чтобы его добавить, нужно:
- Открыть редактор VBA по Alt+F11 .
- Выделить нашу надстройку в панели Project и нажмите клавишу F2 , чтобы открыть окно Object Browser
- Выбрать в верхней части окна в выпадающем списке свой проект надстройки (в конце списка)
- Щелкнуть по появившейся функции правой кнопкой мыши и выберите команду Properties .
- Ввести описание функции в окно Description:
После перезапуска у функции должно отобразиться описание:
5. Создать вкладку надстройки в интерфейсе Excel
Отдельная вкладка с кнопкой запуска нашего макроса будет появляться в интерфейсе Excel после подключения нашей надстройки.
Мы будем писать код вкладки с помощью бесплатной программы для редактирования XML Ribbon XML Editor
- Закрыть все окна Excel.
- Запустить программу Ribbon XML Editor и открыть в ней файл надстройки Excel Plus.xlam .
- При помощи кнопки tabs в левом верхнем углу добавить заготовку кода для новой вкладки
- В кавычки по стрелке нужно вписать id - любые уникальные идентификаторы вкладки и группы, а в label - названия вкладки и группы кнопок на ней:
- Id – идентификатор кнопки;
- label - текст на кнопке;
- imageMso - условное название изображения на кнопке(иконка). Иконку можно выбрать из большого числа изображений, щелкнув по кнопке:
- onAction - имя процедуры обратного вызова - специального короткого макроса, который будет запускать основной макрос FindCyr . Назвать эту процедуру можно, например, FindCyrStart .
Это всё - надстройка готова к использованию. Теперь использовать макросы в работе станет намного проще. Если показалось, что настройка ленты – это слишком сложно, всегда можно использовать кнопки для запуска макросов из панели быстрого запуска.
Установка надстроек в 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 и выше
Как и в более ранних версиях окно менеджера надстроек вызывается одним из двух способов, либо через меню Файл/Параметры/Надстройки/Перейти, либо через вкладку "Разработчик", которую предварительно необходимо отобразить на ленте.
Надстройки расширяют диапазон команд и возможностей 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. Для использования этих надстроек в большинстве случаев нужно лишь активировать их.
Пользовательские надстройки. Многие разработчики и поставщики решений создают пользовательские надстройки модели 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. Для использования этих надстроек в большинстве случаев нужно лишь активировать их.
Пользовательские надстройки. Многие разработчики и поставщики решений создают пользовательские надстройки модели COM, надстройки автоматизации, VBA и XLL. Они требуют установки.
После установки надстройки или ее активации соответствующие команды становятся доступны в одном из указанных ниже мест.
Вкладка Данные. После установки и активации надстроек "Надстройка анализа" и "Решение" команды "Анализ данных" и "Найти решение" доступны на вкладке "Данные" на ленте.
Вкладка "Главная". Другие надстройки можно добавить на вкладку Главная.
Другие надстройки, такие как вкладка Начало работы, доступны в Excel в других местах, например в виде вкладки на ленте, или через макросы или пользовательские меню.
Важно: С помощью этой процедуры разработчики могут добавлять и удалять надстройки автоматизации перед разработкой программ установки и удаления данных надстроек.
Активация предварительно установленной Excel надстройки
В меню Инструменты выберите Надстройки.
В поле Доступные надстройки выберите для надстройки, которая вы хотите активировать, и нажмите кнопку ОК.
Установка надстройки Excel
Некоторые Excel надстройки находятся на вашем компьютере, и их можно установить или активировать, нажав кнопку Обзор (в диалоговом окне Надстройки выше), чтобы найти надстройку, и нажав кнопку ОК.
Некоторые надстройки Excel требуют запуска пакета установки. В этом случае может потребоваться загрузить или скопировать пакет установки на компьютер (обычно пакеты установки имеют расширение MSI), а затем запустить его.
Другие надстройки, недоступные на компьютере, можно скачать и установить с помощью веб-браузера из скачивания или с других сайтов в Интернете, с сервера в организации или с помощью встроенной службы Store в Excel. Чтобы скачать их, следуйте инструкциям по установке.
Установка надстройок из Магазина
На ленте щелкните вкладку Вставка.
Для поиска надстройокиспользуйте поле "Категории" или "Поиск".
Примечание: Некоторые надстройки необходимо приобрести.
Удаление надстройки Excel
На вкладке Вставка нажмите кнопку Мои надстройки.
В Office надстройкищелкните меню 3 точки рядом с надстройки.
Нажмите Удалить.
Ознакомьтесь с уведомлением о других устройствах и нажмите кнопку Удалить.
Надстройки - это файлы MS Excel с расширением .xlam (2007, 2010, 2013, 2016, 2019 и 365) или .xla (2003), которые содержат макросы и которые пишутся для расширения возможностей MS Excel. В этой статье я расскажу, как подключать такие надстройки и как настроить MS Excel, чтобы надстройки могли свободно функционировать.
Начнем с настройки MS Excel. Чтобы надстройки работали нормально, необходимо настроить параметры безопасности MS Excel. Создатели надстроек обычно пишут в сопроводительной документации какие параметры необходимо установить для нормальной работы той или иной надстройки. Нельзя забывать, что любые макросы - это потенциальная угроза безопасности компьютера, поэтому рекомендую брать надстройки только из проверенных источников и относиться к настройке параметров безопасности со всей серьезностью.
Для нормальной работы большинства надстроек достаточно параметров безопасности, установленных по умолчанию. Поэтому перед подключением надстроек необходимо просто проверить эти параметры и, если они были изменены, вернуть их в исходное состояние.
Так как версий MS Excel существует на сегодняшний день как минимум 7 и в разных версиях эти процессы осуществляются по-разному, я описал каждую процедуру для каждой версии MS Excel:
В главном меню выберите пункт "Сервис", в выпавшем меню выберите пункт "Параметры. ":
В открывшемся диалоговом окне выберите вкладку "Безопасность":
Во вкладке безопасность нажмите на кнопку "Безопасность макросов. ":
В открывшемся диалоговом окне, во вкладке "Уровень безопасности" установите галочку напротив пункта "Средняя":
Во вкладке "Надежные издатели" установите галочку напротив пункта "Доверять всем установленным надстройкам и шаблонам" и нажмите кнопку "ОК":
В диалоговом окне "Параметры" так же нажмите кнопку "ОК":
Настройка MS Excel закончена. Можно подключать надстройку.
В левом верхнем углу нажмите большую круглую кнопку "Office", в выпавшем меню нажмите кнопку "Параметры Excel":
В открывшемся диалоговом окне слева выберите пункт "Центр управления безопасностью":
В открывшейся вкладке справа нажмите на кнопку "Параметры центра управления безопасностью. ":
В открывшемся диалоговом окне во вкладке "Надстройки" убедитесь, что бы все галочки были сняты:
Во вкладке "Параметры макросов" выберите пункт "Отключить все макросы с уведомлением" и нажмите кнопку "ОК":
В диалоговом окне "Параметры Excel" так же нажмите кнопку "ОК":
Настройка MS Excel закончена. Можно подключать надстройку.
В левом верхнем углу нажмите зеленую кнопку "Файл", в выпавшем меню выберите пункт "Параметры":
В открывшемся диалоговом окне слева выберите пункт "Центр управления безопасностью":
В открывшейся вкладке справа нажмите на кнопку "Параметры центра управления безопасностью. ":
В открывшемся диалоговом окне во вкладке "Надстройки" убедитесь, что бы все галочки были сняты:
Во вкладке "Параметры макросов" выберите пункт "Отключить все макросы с уведомлением" и нажмите кнопку "ОК":
В диалоговом окне "Параметры Excel" так же нажмите кнопку "ОК":
Главная Предложения и вопросы Статьи Теория Надстройки ExcelНадстройки Excel
Те, кто программирует на VBA для Excel, в определенный момент задумываются над распространением своих приложений в качестве независимых файлов. Лучшая возможность для организации распространяемых файлов – это создание специальных дополнений или надстроек Excel. За время развития программы появилось несколько типов надстроек. Мы попытались собрать и систематизировать информацию для разработчиков обо всех видах, назначениях, достоинствах и недостатках надстроек Excel.
Персональная книга макросов
Описание: | хранение общих функций и процедур для персонального использования |
Требования: | нет |
Достоинства: | возможность хранения пользовательских функций для работы с данными (UDF) |
Недостатки: | сложности с тиражированием |
Для общих программ и макросов можно использовать, так называемую, личную книгу макросов – по умолчанию это файл PERSONAL.XLS (в Excel 2007-2010 PERSONAL.XLSB). Файл с данным именем создается с при записи макроса средствами Excel. Этот файл будет автоматически загружаться каждый раз при запуске Excel. Местонахождение данного файла в каталоге Windows: ПОЛЬЗОВАТЕЛЬ\Application Data\Microsoft\Excel\XLSTART. На самом деле Excel будет запускать автоматически все файлы из данного каталога, независимо от имен файлов.
В принципе, личные книги макросов можно считать надстройками Excel. В файле PERSONAL.XLS (или любом другом из стартового каталога) можно хранить общие функции и макросы, автоматизирующие часто повторяемые операции. Для выполнения каких-либо операций при старте Excel можно использовать событие Worbook_Open этого файла, либо процедуру Auto_Open в модуле кода.
XLA/XLAM
Описание: | стандартная надстройка |
Требования: | нет |
Достоинства: | возможность создания тиражируемых продуктов |
Недостатки: | слабая защита исходного кода программ. |
Надстройки с расширением xla (в версии 2007-2010 xlam) представляют собой стандартный xls-файл, который может быть открыт как невидимая в списке открытых файлов рабочая книга.
Файл надстройки обычно содержит программный код, который управляет какими-либо оперциями активной рабочей книги Excel. Теоретически, кроме модулей кода, в состав xla-файла могут быть таблицы и даже листы диаграмм, но надо понимать, что особого смысла в этих данных нет, так как нет возможности отобразить эти данные на экране стандартными средствами. На рабочих листах надстройки можно хранить, например, константы для работы кода, если по каким-либо соображениям не хочется использовать константы VBA. Данные в ячейках файла надстройки можно даже изменять во время работы, но сохранять открытый и исполняемый в данный момент файл xla в общем случае недопустимо.
Для доступа к данным рабочей книги надстройки используется объект ThisWorkbook, а для работы с активной рабочей книгой – объект ActiveWorkbook.
В надстройках имеется возможность хранить пользовательские функции для работы с данными рабочих листов (user defined function - UDF). Только надо учитывать, что в этом случае рабочий файл сохраняет ссылку (связь) на файл надстройки по абсолютному пути. Эта особенность может затруднить распространение программных продуктов.
Отладку надстроек лучше производить через xls-файл (не забывая различия между ThisWorkbook и ActiveWorkbook), а впоследствии сохранять этот файл как xla. Нектороые сложности могут в этом случае возникнуть при использовании событий Workbook_AddinInstall и Workbook_AddinUninstall, так как их невозможно эмулировать в простом файле рабочей книги. К счастью, эти события требуются крайне редко; честно говоря, мы не знаем ни одного примера их полезного использования на практике.
Подключать готовую XLA-надстройку можно через соответствующий диалог (Excel 2000-2003 Сервис \ Надстройки, Excel 2007 Кнопка Office \ Параметры Excel\ Надстройки \ Перейти).
Подключаемые надстройки прописываются в реестре Windows по адресу HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ НОМЕР_ВЕРСИИ.0 \ Excel \ Options в строковых параметрах с префиксом OPEN и порядковым номером надстройки (причем первая по порядку надстройка номера не имеет). Управляя этим ключом реестра, можно подключить / отключить надстройку через инсталляционные программы. Это, кстати, еще одна причина никогда не использовать событие Workbook_AddinInstall – очевидно, что оно не будет вызвано при изменении ключей реестра внешними программами.
Имя и описание надстройки можно задать в свойствах файла перед его сохранением в форматие xla/xlam (Excel 2000-2003 Файл \ Свойства, Excel 2007 Кнопка Office \ Подготовить \ Свойства).
Важным преимуществом надстройки XLA/XLAM вместо использования кода внутри рабочих файлов является возможность повторного использования кода VBA. Кроме того, установленные надстройки не спрашивают о наличии макросов при запуске Excel на любом уровне безопасности.
Интересная, но скорее всего бесполезная в работе информация. Надстройки XLA в Excel версии 5.0-8.0 (95-97) хранятся в скомпилированном виде. В связи с этим, там просто нет исходного текста программ в открытом или зашифрованном виде. Эта особенность приводит к невозможности декомпиляции или вскрытию кода специальными средствами. К сожалению, в последующих версиях Excel надстройки хранятся в нескомпилированном виде и легко преобразуются в доступный для изменения файл, даже будучи защищенными паролями. Microsoft рекомендует использовать для разработчиков возможности COM-DLL и средства VSTO (см. далее).
В качестве примера XLA-надстройки, можно ознакомиться с исходным кодом надстройки ExcelFin в разделе Программы.
XLS/XLA как ссылка
Описание: | библиотека кода VBA |
Требования: | нет |
Достоинства: | не требует компиляции во внешних программных продуктах |
Недостатки: | сложность распространения из-за абсолютных ссылок на файлы |
Если вы создали набор общеупотребительных функций, но не имеете возможность скомпилировать библиотеку в виде XLL или DLL-файла (см.ниже), то можно подключить любой VBA-код XLS-файла в качестве ссылки в проекте. Делается это в окне редактора кода через меню Tools \ References.
В этом случае вы также можете избавиться от повторного использования кода, но такой вариант вызывает дополнительные сложности при распространении рабочего файла, так как в проекте сохраняются абсолютные пути к ссылкам.
При использовании общего кода XLA-надстроек и ссылок к XLS-файлам важную роль играет определение методов и свойств класса Friend. Эти методы и свойства видны внутри проекта, но не во внешнем файле, использующем ссылку. Внутри одного файла определение Friend соответствует Public.
Описание: | библиотека функций рабочего листа |
Требования: | компилятор C/C++ и API-библиотека |
Достоинства: | создание наиболее производительных функций с полным встраиванием в интерфейс Excel |
Недостатки: | нет |
Наиболее производительные пользовательские функций для работы с таблицами реализуются при помощи XLL-надстроек.
XLL-надстройка представляет собой скомпилированный на C/C++ файл динамической библиотеки Windows, специально предназначенной для использования в Excel. Разработчикам предоставляется специальная библиотека C API (Excel XLL SDK). Использование языка C с возможностью управления памятью позволяют разработать самые мощные и производительные функции для работы с данными Excel. Сравните производительность встроенных функций и UDF, разработанных на VBA.
Мы не имеем практического опыта разработки XLL-надстроек, поэтому желающих разрабатывать библиотеки такого типа отсылаем к MSDN.
Имеется не очень стандартный способ регистрации UDF-функций для вывода пользовательской функции на VBA в интерфейсе Excel через Application.ExecuteExcel4Macro(“REGISTER(…)”) . Метод проверен и работает. Но не дает никаких преимуществ в производительности функций, поэтому в практической работе его ценность сомнительна. Подробнее читайте:
COM DLL (Office Developer Tools – ODT)
Описание: | полнофункциональная надстройка Excel |
Требования: | ODE 97 или ODT XP |
Достоинства: | возможность создания интерфейса любой сложности; полностью закрытый исходный код. |
Недостатки: | невозможно создание пользовательских функций для работы с данными (UDF) |
Главной особенность Excel ODT является наличие возможности создания проекта VBA независимого от xls-файла, с возможностью последующей компиляции данного проекта в файл формата DLL (ActiveX DLL).
Исходный VBA-проект содержит специальный дизайнер с методами обработки событий Excel. В проекте, кроме этого, доступны для создания обычные модули кода, классы и формы. Причем формы могут быть открыты немодально. Надстройки данного типа могут быть подключены к различным версиям Excel одновременно. Файл DLL, скомпилированный с помощью ODE/ODT не требует никаких дополнительных исполняемых модулей для своей работы, кроме, собственно говоря, Excel.
Здесь важное замечание, что, даже если вас заинтересовали возможности ODE/ODT, вам вряд ли удастся приобрести лицензионные версии этих продуктов – Microsoft с 2003го года прекратил их распространение. Вообще же вероятно, что в России, официальным способом было приобретено совсем небольшое количество копий пакетов для разработчиков, поэтому искать пиратскую версию этих продуктов тоже особого смысла не имеет.
Настройка ленты Office 2007:
В отличие от панелей инструментов, новый пользовательский интерфейс Excel 2007 в виде ленты (ribbons) не имеет встроенных механизмов настройки напрямую через VBA.
Имеется довольно странный механизм настройки ленты через редактирование xml-файла. Формат xlsx представляет из себя zip-архив нескольких файлов и папок, в одном из которых доступна настройка на ленте пользовательских функций. Странно, но разработчики Excel почему-то не предоставили интерфейс для настройки ленты иным способом. Подробнее см. MSDN:
Вызов процедур COM-DLL из VBA
В тех случаях, когда основной алгоритм закрыт в COM-надстройке, вызов функций и процедур (например, из обработчиков пунктов меню) осуществляется через механизм позднего связывания (Late-bound). Для получения доступа к объекту надстройки используется функция COMAddIns объекта Application с указанием имени COM-надстройки. Например:
COM DLL (Visual Studio Tools for Office – VSTO)
Комментарии
. Workbook_AddinInstall и Workbook_AddinUninstall, так как их невозможно эмулировать в простом файле рабочей книги. К счастью, эти события требуются крайне редко; честно говоря, мы не знаем ни одного примера их полезного использования на практике.
Хорошее замечание.Действительно, хранить udf в xla можно. Только в этом случае формула использует xla как ссылку на файл (можно посмотреть в меню 2000-2003 Правка\Связи или 2007 Подготовить\Использовать ссылки на файлы).
В обычной работе это скорее всего никак не сказывается, но проблемы могут возникнуть при распространении надстройки из-за абсолютных путей в ссылках.
Исправил текст статьи. Спасибо.
. В надстройках нет возможности хранить пользовательские функции для работы с данными рабочих листов (user defined function - UDF).
Как это нет. я храню и использую пользовательские функции которые хранятся в .xla файле, и никаких проблем.
Читайте также: