Надстройка Excel позволяет расширить функциональные возможности приложений Excel на нескольких платформах, включая Windows, Mac, iPad и в браузере. Используйте надстройки в книге Excel, чтобы:
- взаимодействовать с объектами Excel, считывать и записывать данные Excel;
- расширять возможности с помощью области задач или области содержимого;
- добавлять настраиваемые кнопки ленты или элементы контекстного меню;
- добавлять пользовательские функции;
- расширять возможности взаимодействия с помощью диалогового окна.
В качестве основы используется платформа надстроек Office, предоставляющая API JavaScript для Office.js, с помощью которых можно создавать и запускать надстройки Excel. Используя платформу надстроек Office для создания надстройки Excel, вы получаете следующие преимущества.
- Кроссплатформенная поддержка. Надстройки Excel работают в Office в Интернете, Office для Windows, Office для Mac и Office для iPad.
- Централизованное развертывание. Администраторы могут легко и быстро развертывать надстройки Excel для пользователей в организации.
- Использование стандартных веб-технологий. Создавайте надстройки Excel, используя знакомые веб-технологии — HTML, CSS и JavaScript.
- Распространение через AppSource. Представьте свою надстройку Excel широкой аудитории, опубликовав ее в AppSource.
Надстройки Excel отличаются от надстроек COM и VSTO, которые являются более ранними решениями интеграции Office, которые работают только в Office в Windows. В отличие от надстроек COM, надстройки Excel не требуют установки какого-либо кода на устройстве пользователя или в Excel.
Надстройка для Microsoft Excel
Компоненты надстройки Excel
Надстройка Excel включает два основных компонента: веб-приложение и файл конфигурации, называемый файлом манифеста.
Веб-приложение использует API JavaScript для Office для взаимодействия с объектами в Excel, а также может упростить взаимодействие с сетевыми ресурсами. Например, надстройка может выполнять любую из следующих задач.
- создавать, читать, обновлять и удалять данные в книге (листы, диапазоны, таблицы, диаграммы, именованные элементы и т. д.);
- выполнять авторизацию пользователя в веб-службе с помощью стандартного потока OAuth 2.0;
- отправлять запросы к API Microsoft Graph или другому API.
Веб-приложение может размещаться на любом веб-сервере, а для его создания можно использовать как клиентские платформы (например, Angular, React, jQuery), так и серверные технологии (например, ASP.NET, Node.js, PHP).
Манифест — это файл конфигурации, который определяет, как надстройка интегрируется с клиентами Office, указывая параметры и возможности, такие как:
- URL-адрес веб-приложения надстройки;
- отображаемое имя, описание, идентификатор, версию и языковой стандарт по умолчанию для надстройки;
- способ интеграции надстройки с Excel, включая настраиваемый пользовательский интерфейс, создаваемый надстройкой (кнопки ленты, контекстные меню и т. д.);
- разрешения, необходимые надстройке, например чтение и запись документа.
Чтобы пользователи могли устанавливать и использовать надстройку Excel, необходимо опубликовать ее манифест в AppSource или каталоге надстроек. Дополнительные сведения о публикации в AppSource см. в статье Публикация решений в AppSource и в Office.
Как создать свою надстройку в Excel
Возможности надстройки Excel
Надстройки Excel могут не только взаимодействовать с содержимым книги, но и добавлять настраиваемые кнопки ленты и команды меню, вставлять области задач, добавлять пользовательские функции, открывать диалоговые окна и даже внедрять в лист многофункциональные веб-объекты, например диаграммы или интерактивные визуализации.
Команды надстроек
Команды надстроек — это элементы, которые расширяют пользовательский интерфейс Excel и выполняют действия в надстройке. С помощью команд надстроек можно добавить кнопку на ленту или пункт в контекстное меню в Excel. Когда пользователи выбирают команду надстройки, выполняется действие, например запуск кода JavaScript или отображение страницы надстройки на панели задач.
Дополнительные сведения о возможностях команд и поддерживаемых платформах, а также рекомендации по разработке команд надстроек см. в статье Команды надстроек для Excel, Word и PowerPoint.
Области задач
Области задач — это области интерфейса, которые обычно отображаются в правой части окна Excel. В областях задач расположены элементы управления, с помощью которых запускается код для изменения документа Excel или отображения данных из источника данных.
Дополнительные сведения об областях задач см. в статье Области задач в надстройках Office. Пример реализации области задач в Excel: Тенденции расходов банка WoodGrove на JS.
Пользовательские функции
Пользовательские функции позволяют разработчикам добавлять новые функции в Excel путем определения этих функций в JavaScript как части надстройки. Пользователи в Excel могут получить доступ к пользовательским функциям так же, как и к любой встроенной функции в Excel, например SUM() .
Дополнительные сведения о пользовательских функциях см. в статье Создание пользовательских функций в Excel.
Диалоговые окна
Диалоговые окна — это поверхности, которые накладываются на активное окно приложения Excel. Например, с помощью диалоговых окон можно отображать страницы входа, которые невозможно открыть непосредственно в области задач, запрашивать подтверждение действий пользователем и размещать видео, которые могут не помещаться в области задач. Чтобы открывать диалоговые окна в надстройке Excel, используйте API диалоговых окон.
Дополнительные сведения о диалоговых окнах и API диалоговых окон см. в статье Использование API диалоговых окон в надстройках Office.
Контентные надстройки
Контентные надстройки — это поверхности, которые можно внедрять непосредственно в документы Excel. С помощью контентных надстроек можно внедрять в лист многофункциональные веб-объекты, например диаграммы, визуализации данных и файлы мультимедиа, или предоставлять пользователям доступ к элементам управления интерфейса, выполняющим код для изменения документа Excel или отображения данных из источника. Используйте контентные надстройки, когда требуется внедрить функции непосредственно в документ.
Дополнительные сведения о контентных надстройках см. в статье Контентные надстройки Office. Пример контентной надстройки Excel: Humongous Insurance на сайте GitHub.
API JavaScript для взаимодействия с содержимым книги
Надстройка Excel взаимодействует с объектами в Excel с помощью API JavaScript для Office, включающего две объектных модели JavaScript:
- API JavaScript для Excel. Появившийся в Office 2016 API JavaScript для Excel предоставляет строго типизированные объекты, с помощью которых можно получать доступ к листам, диапазонам, таблицам, диаграммам и другим объектам.
- Общие API. Появившиеся в Office 2013 общие API позволяют получать доступ к таким компонентам, как пользовательский интерфейс, диалоговые окна и параметры клиентов, общие для нескольких типов приложений Office. Ограниченная функциональность взаимодействия Excel в Общем API была заменена API JavaScript для Excel.
Дальнейшие действия
Приступите к созданию своей первой надстройки Excel. Затем ознакомьтесь с основными понятиями, связанными с созданием надстроек Excel.
См. также
- Обзор платформы надстроек Office
- Сведения о программе для разработчиков Microsoft 365
- Разработка надстроек Office
- Объектная модель JavaScript для Excel в надстройках Office
- Справочник по API JavaScript для Excel
Источник: learn.microsoft.com
Надстройки Excel: обзор, особенности и требования
Надстройки Excel позволяют задействовать какие-то новые возможности и свойства, которые не присущи по умолчанию данной программе.
Расширение надстроек
Файлы, содержащие подобные дополнения, имеют расширение xla в версиях до 2007 или xlam, начиная с него соответственно. В данный формат можно сохранять и собственные файлы, которые будут использоваться как надстройки Excel. Для этого при сохранении книги необходимо в диалоговом окне «Сохранить» выбрать «Тип файла» xlam.
Типы надстроек
Надстройки Excel можно подразделить на три типа:
- самой программы;
- COM-надстройки (для модели компонентных объектов) — за счет этих файлов увеличиваются возможности рассматриваемого приложения из-за появления новых функций и команд, которые разработаны определенными пользователями, они имеют расширения exe или dll;
- автоматизации.
Установка
Стандартный набор получают вместе с программой Excel. Дополнительные надстройки могут быть получены с сайта офисных продуктов корпорации Microsoft. Перед загрузкой в электронные таблицы данные расширяющие приложения необходимо установить. Они могут быть установлены в каталог (папку) Library или одно из его вложений, расположенных по пути установки MS Office или в папке пользователяApplication DataMicrosoftAddIns.
Помимо этого, надстройки Excel могут быть установлены по иным путям, определенным Администратором.
Загрузка и выгрузка
Загрузка осуществляется после установки надстройки. После совершения данной операции все предоставляемые данным набором макросов возможности становятся доступными в электронных таблицах. Они добавляются в соответствующие меню вместе с теми командами, которые вложены в коде данной надстройки Excel.
При слишком большом количестве загруженных макросов может снизиться производительность работы компьютера из-за перегрузки памяти. Поэтому те надстройки, которые не используются или применяются редко, необходимо выгружать. Выгрузка удаляет команды и возможность запуска набора макросов в электронных таблицах, но не деинсталлирует саму надстройку по пути установки, поэтому при необходимости она может быть загружена снова. После выгрузки доступность набора макросов остается до момента перезапуска Excel.
Стандартные надстройки, идущие вместе с электронными таблицами
К таким наборам макросов относятся:
- «Пакет анализа», с помощью которого Excel получает возможность совершать статистические, инженерные или финансовые функции, некоторые из которых доступны через стандартные формулы, но обеспечивающие иной формат вывода.
- «Пакет анализа VBA», предоставляющий возможность программистам публиковать функции, предоставляемые предыдущей надстройкой.
- «Мастер суммирования». Эта надстройка «Сумма» в Excel, которая автоматически суммирует те значения, которые определены в условии. С 2010-й версии не поддерживается.
- «Пересчет в евро» вызывает функцию EUROCONVERT, которая осуществляет пересчет введенных сумм в евро.
- «Помощник по Интернету» — дает возможность программистам размещать данные электронных таблиц от Microsoft в Глобальной сети при использовании синтаксиса рассматриваемой надстройки.
- «Мастер подстановок». Данный макрос позволяет создать формулу, с помощью которой осуществляется поиск данных в некотором списке по иному значению из этого списка. С 2010-й версии не поддерживается.
- «Поиск решения» — осуществляет то, что задано в ее названии, по сценариям, под которыми понимают входные значения, подставляемые в Excel. Решения подбираются «что-если», анализируя ячейки перебора и ограничений.
Надстройка VBA-Excel
Как и после загрузки любого другого набора макросов, на ленте или в меню электронных таблиц появятся новые команды или табы. С помощью этой надстройки в Excel добавляются новые функции, команды, что характерно и для других подобных макросов, но, помимо этого, использование данного мини-приложения уменьшит затраты времени на выполнение однотипных действий, автоматизировав данный вид работы. Данную надстройку нельзя назвать просто макросом, это комплекс последних, что и называется набором. В состав программы входит более 25 макросов и 80 функций, среди которых есть такие, как ДАТАИЗСТРОКИ, ФАМИЛИЯ и другие.
Установка осуществляется включением в параметрах макросов, а также постановкой галочки напротив пункта «Доверять доступ к объектной модели проектов VBA». Загрузка производится таким же образом, как и других надстроек. Во время загрузки появится окно регистрации, которое можно заполнить любыми данными, и лучше отметить «Я гуру Excel, мне это не интересно».
Plex
Надстройка Excel Plex позволяет осуществлять ввод сложных формул. Введя ее один раз, данную форму можно сохранить как шаблон и использовать в дальнейшем. В составе уже находятся более 50 встроенных формул и различных функций.
В данной надстройке имеется форма для ввода времени в заданную ячейку.
Помимо этого, данный набор макросов позволяет осуществлять бэкап книги с добавлением даты и времени создания резервной копии.
Также, используя в работе данную надстройку, можно получить курс одной из 17 валют с учетом ставки рефинансирования на любую прошедшую дату. Данные берутся автоматически с Центробанков России, Украины или Беларуси.
Надстройка позволяет генерировать в выделенный диапазон ячеек случайные числа, которые могут быть как дробными, так и целыми, повторяющимися и неповторяющимися, в числовом формате или в формате даты и времени.
Используя данный набор макросов, можно создавать Динамический Именованный Диапазон. Он по образу и подобию таблиц в Word сжимается и расширяется при вводе данных. Помимо того что данный диапазон может использоваться в повседневной работе Excel, с его помощью можно создавать динамические диаграммы и сводные таблицы.
На любую команду можно назначить свои горячие клавиши.
Эта надстройка имеет полезное свойство по добавлению функций данного набора макросов в книгу, после чего их можно будет использовать на тех компьютерах, где Plex не устанавливался.
Использование данной надстройки позволяет извлекать уникальные элементы из некоторого списка по заданной колонке. Извлекаемые элементы могут быть выделены или из них можно сформировать новый список.
Помимо этого, можно менять размер диапазона ячеек, тип ссылок в формулах, применять в работе различные инструменты, позволяющие ускорить работу со сводными таблицами. Plex имеет встроенный календарь, с помощью которого можно осуществить мгновенный ввод даты в ячейку, конвертер формул в значения, что можно осуществить как во всей книге, так и в выделенном фрагменте.
Данная надстройка снабжена менеджером листов, что позволяет скрывать и показывать листы, сортировать и защищать их, а также осуществлять с ними иные действия.
С ее помощью можно округлять числа, переставлять значения в обратном порядке с автоматической заменой формул. При использовании Plex существует возможность объединения ячеек с сохранением текста при использовании символа-разделителя.
Данная надстройка снабжена инструментом по форматированию текста, который позволяет преобразовать кириллицу в латиницу, изменять регистр и выполнять другие операции.
Используя данный набор макросов, можно отбирать строки на основе заданной ячейки.
При вводе формул показываются стрелки, отображающие зависимости. Книгу и диапазон ячеек можно очистить от лишнего в любой момент времени.
Plex позволяет менять местами столбцы и строки, строить мини-гистограммы. Данная надстройка позволяет осуществлять почтовую рассылку по различным электронным адресам. Большие таблицы могут быть распределены на несколько страниц по заданным условиям. Внешние связи книги могут быть разорваны или открыты. Некоторые листы из различных файлов могут быть скопированы в один.
В ячейке можно создать выпадающий список. Plex позволяет сортировать строки по цвету заливки или в случайном порядке. Листы книги можно сохранять отдельными файлами.
Помимо этого, можно осуществлять сравнение диапазонов, копирование формул без сдвига диапазона.
Здесь перечислены только основные возможности этой надстройки, а их гораздо больше.
Макрос «Сумма прописью»
Надстройка «Сумма прописью» в Excel позволяет вводить прописью как денежные суммы при использовании функции «СуммаПрописью», так и обычные числа при использовании «ЧислоПрописью».
В заключение
Существуют различные надстройки для Microsoft Excel. Их назначение состоит в облегчении проведения различных операций в данной программе, добавлении отсутствующих функций, сокращении затрат времени на выполнение рутинных действий. В данной статье рассмотрены лишь некоторые надстройки. На самом деле их множество.
Источник: fb.ru
Финансы в Excel
Главная Статьи
Теория
Надстройки Excel
Надстройки Excel
Персональная книга макросов |
XLA/XLAM |
XLS/XLA как ссылка |
XLL |
COM DLL (Office Developer Tools – ODT) |
Установка COM DLL: |
Настройка ленты Office 2007: |
Вызов процедур COM-DLL из VBA |
COM DLL (Visual Studio Tools for Office – VSTO) |
Те, кто программирует на VBA для Excel, в определенный момент задумываются над распространением своих приложений в качестве независимых файлов. Лучшая возможность для организации распространяемых файлов – это создание специальных дополнений или надстроек Excel. За время развития программы появилось несколько типов надстроек. Мы попытались собрать и систематизировать информацию для разработчиков обо всех видах, назначениях, достоинствах и недостатках надстроек Excel.
Персональная книга макросов
Описание: | хранение общих функций и процедур для персонального использования |
Требования: | нет |
Достоинства: | возможность хранения пользовательских функций для работы с данными (UDF) |
Недостатки: | сложности с тиражированием |
Для общих программ и макросов можно использовать, так называемую, личную книгу макросов – по умолчанию это файл PERSONAL.XLS (в Excel 2007-2010 PERSONAL.XLSB). Файл с данным именем создается с при записи макроса средствами Excel. Этот файл будет автоматически загружаться каждый раз при запуске Excel.
Местонахождение данного файла в каталоге Windows: ПОЛЬЗОВАТЕЛЬApplication DataMicrosoftExcelXLSTART. На самом деле 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.
XLL
Описание: | библиотека функций рабочего листа |
Требования: | компилятор C/C++ и API-библиотека |
Достоинства: | создание наиболее производительных функций с полным встраиванием в интерфейс Excel |
Недостатки: | нет |
Наиболее производительные пользовательские функций для работы с таблицами реализуются при помощи XLL-надстроек.
XLL-надстройка представляет собой скомпилированный на C/C++ файл динамической библиотеки Windows, специально предназначенной для использования в Excel. Разработчикам предоставляется специальная библиотека C API (Excel XLL SDK). Использование языка C с возможностью управления памятью позволяют разработать самые мощные и производительные функции для работы с данными Excel. Сравните производительность встроенных функций и UDF, разработанных на VBA.