Epm add in for microsoft office что это
Вместо предисловия
Заранее хочу оговориться, что сам я не профессионал в области разработки под MS Office, и здесь возможно найдутся люди, которые раскритикуют мое решение в пух и прах. Что ж, я буду рад любой конструктивной критике. Так же эта статья не является исчерпывающим руководством по написанию Excel Add-ins, не ставит цели подробно описать архитектуру Excel Add-ins или содержимое пространства имен Microsoft.Office.Core. Это вводная статья, которая, как я надеюсь, поможет новичку сориентироваться в новой для него теме и проведет через процесс создания add-in’а, который делает что-то осмысленное. Итак, приступим!
Готовим солюшен
Откроем студию и создадим новый проект типа Excel 2010 Add-in. Назовем его SampleAddIn:
Если у вас все получилось правильно (а что собственно здесь могло получиться неправильно. ), вы увидите солюшен со следующей структурой:
Единственный файл, который сгененрировала для нас студия – это ThisAddIn.cs:
Здесь все просто – мы всего лишь регистрируем обработчики событий запуска и завершения нашего add-in’а. Сейчас, естественно, наш Add-in ничего не делает, но вы уже можете его запустить как обычный проект, по нажатию F5. Что особенно приятно, на этом этапе можно не заморачиваться развертыванием, т.к. студия сама запускает Excel с нужными настройками безопасности и подсовывает ему наш Add-in. Если все получилось, то при запуске Excel вы увидите такую надпись:
Рисуем интерфейс
Добавим в солюшен элемент типа Ribbon и назовем его SampleRibbon
В дизайнере добавим туда кнопку:
И зададим названия для вкладки, группы и кнопки:
А так же создадим обработчик нажатия кнопки:
Ковыряем чуть глубже
На данный момент мы столкнулись с двумя проблемами: во-первых, если в классе ThisAddIn есть поле Application, дающее доступ к запущенному экземпляру Excel, то в классе Ribbon ничего подобного нет, а следовательно непонятно, как именно взаимодействовать с листами Excel’я. Во-вторых, как мы все знаем, смешение логики отображения и бизнес-логики является отличной заготовкой для хорошей порции спагетти в вашем коде. Поэтому изменим код, так чтобы избавиться от этих двух проблем, а заодно разберемся в «магии», которая встроила наш Ribbon в Excel без каких-либо действий с нашей стороны.
За создание пользовательских лент в Add-in’е отвечает метод CreateRibbonExtensibilityObject из класса AddInBase, от которого на самом деле унаследован наш класс ThisAddIn. Слава богу, этот метод был предусмотрительно сделан виртуальным, так что перегрузить его не составит проблем. Для начала добавим в класс ThisAddIn код:
И запустим проект. Вуаля! Вкладка исчезла. Теперь изменим класс SampleRibbon:
И класс ThisAddIn:
Работаем с ячейками
Теперь пришло время для того, ради чего собственно и был затеян весь это сыр-бор – генерации таблицы. Для начала создадим пару вспомогательных методов для оформления ячеек:
Теперь напишем код для получения списка дней месяца:
И сведем это все воедино:
Если вы нигде не ошиблись, то запустив проект, и нажав на кнопку на нашей вкладке, вы увидите нечто подобное:
В данной статье сделаем введение в разработку web-приложений для Office 365:
— регистрация приложения в корпоративном Azure
— авторизация пользователей
— получение данных из сервисов Office 365
Основная цель: научиться делать приложения Office 365 которые можно продавать в магазине Microsoft AppSource Marketplace.
Для примера сделаем минималистичное Single Page web-приложение на JavaScript, отображающее список писем. Без Angular, TypeScript, без сборщиков, без командных строк и без серверного кода.
Если хотите сразу получить рабочий код — пример на GitHub.
В итоге получится вот так:
Нам потребуется
Терминология, какие Office 365 приложения бывают
Информации по приложениям Office 365 много, сходу разобраться с чего начать трудно. Поэтому приведем несколько ключевых слов и терминов для гугления.
Office 365 app launcher – показан на рисунке ниже. Кликая на «Get more apps» попадаем в магазин.
Мы хотим сделать приложение, которое можно будет опубликовать в этом магазине.
Среди приложений Office 365 можно выделать:
— Office 365 Add-in
— Office 365 web app, он же Azure AD web app
Office 365 Add-in – это аддоны интегрированные в UI сервисов Office 365. Например, это может быть дополнительная панель с информацией при просмотре письма, веб-часть SharePoint, кнопка в Excel. Отметим что аддоны могут работать не только в веб-версиях (например, Outlook Web Access), но и в настольных приложениях (Outlook).
Office 365 web app – это
— отдельно-стоящее веб-приложение
— открывается на своем домене
— со своим хостингом
— общается с сервисами Office 365 (такими как Outlook, SharePoint) с помощью веб-API (такими как Microsoft Graph API, но не только – см. ниже)
Регистрацию администратор может сделать вручную или устанавливая приложение из магазина. При регистрации указываются права приложения на части API (например, доступ к почте). Office 365 web apps отображаются в этом разделе магазина:
В данной статье сделаем Office 365 web app, регистрировать будем вручную.
Multi-Tenant, single organization (Single-Tenant) web-apps — Multi-Tenant это приложения с которыми могут работать несколько организаций. Single organization – приложения разработанные для одной компании. Для магазина, конечно, подходят только Multi-Tenant.
В поле Sign-on URL укажите URL сайта, в нашем случае приложение тестовое хостится на localhost:
В манифесте приложения нужно установить параметр «oauth2AllowImplicitFlow»: true.
После регистрации приложение получит Application ID, он нам потребуется позже. Не забудьте дать права на Microsoft Graph.
Авторизация, Microsoft Graph API
Office 365 предлагает множества разных веб-API. Microsoft Graph API самый современный API, позволяет работать со всеми сервисами Office 365. Везде где можно нужно использовать Microsoft Graph, только при необходимости прибегайте к более специализированным API.
Microsoft Graph API отдельная тема, здесь отметим только что это удобно и позволяет делать простые REST запросы.
Каждый запрос к API должен содержать секретный token, благодаря которому Microsoft Graph API понимает от какого пользователя пришел запрос и какие действия разрешается выполнять.
Token выдает “Azure AD Authorization Endpoint”. Token имеет ограниченный срок жизни.
В нашем случае single page web-приложения, без серверного кода, token получается следующим образом:
Наше приложение не содержит серверного кода. Обратите внимание на схеме Browser только один раз вызывает Web Application для получения HTML и JS кода, остальные запросы Browser делает к Office 365 API.
ADAL JS
Выше, для понимая, мы рассмотрели процесс получения и использования token. Библиотека Active Directory Authentication Library (ADAL) for JavaScript (ADAL JS) все это делает за нас. Нужно лишь подключить её к странице. Пример использования ADAL JS:
Платформу надстроек Office можно использовать для создания решений, которые расширяют возможности приложений Office и взаимодействуют с содержимым документов Office. В случае надстроек Office можно использовать привычные веб-технологии, например HTML, CSS и JavaScript, для взаимодействия с Word, Excel, PowerPoint, OneNote, Project и Outlook, а также для расширения возможностей этих приложений. Ваше решение может работать в Office на нескольких платформах, включая Windows, Mac, iPad и браузеры.
Надстройки Office могут делать почти все, на что способна веб-страница в браузере. Платформу надстроек Office можно использовать для следующих целей:
Добавление новых возможностей к клиентам Office. Подключайте внешние данные к Office, автоматизируйте обработку документов Office, добавляйте в клиенты Office функции сторонних решений и многое другое. Например, с помощью API Microsoft Graph можно подключаться к данным, повышая производительность.
Создание оснащенных различными функциями интерактивных объектов, которые можно внедрить в документы Office. Внедряйте карты, диаграммы и интерактивные визуализации, которые пользователи могут добавлять в свои электронные таблицы Excel и презентации PowerPoint.
Чем надстройки Office отличаются от надстроек COM и VSTO?
Надстройки COM и VSTO представляют собой более ранние решения для интеграции Office, работающие только в Office для Windows. В отличие от надстроек COM, надстройкам Office не требуется код, который выполняется на устройстве пользователя или в клиенте Office. В надстройках Office приложение, например Excel, считывает манифест надстройки и подключает настраиваемые кнопки ленты и команды меню надстройки в пользовательском интерфейсе. При необходимости оно загружает JavaScript и HTML-код надстройки, который выполняется в "песочнице" в контексте браузера.
Преимущества надстроек Office над надстройками, созданными с помощью VBA, модели COM или VSTO.
Кроссплатформенная поддержка. Надстройки Office работают в Office в Интернете, Office для Windows, Office для Mac и Office для iPad.
Централизованное развертывание и распространение. Администраторы могут централизованно развертывать надстройки Office в организации.
Легкий доступ через AppSource. Вы можете сделать свое решение доступным широкой аудитории, отправив его в AppSource.
Стандартная веб-технология. Вы можете использовать любую библиотеку для создания надстроек Office.
Компоненты надстройки Office
Надстройка Office включает в себя два основных компонента — XML-файл манифеста и веб-приложение. Манифест определяет различные параметры, включая способ интеграции надстройки с клиентами Office. Веб-приложение должно быть размещено на веб-сервере или в службе веб-хостинга, например в Microsoft Azure.
Манифест
Этот манифест представляет собой XML-файл, который определяет следующие параметры и возможности надстройки:
Отображаемое имя, описание, идентификатор, версию и языковой стандарт по умолчанию надстройки.
Способ интеграции надстройки с Office.
Уровень разрешений и требования для доступа к данным для надстройки.
Веб-приложение
Рисунок 2. Компоненты надстройки Hello World для Office
Расширение возможностей и взаимодействие с клиентами Office
Что позволяют надстройки Office в клиентском приложении Office.
расширение функциональных возможностей (в любом приложении Office);
создание новых объектов (Excel или PowerPoint).
Расширение функциональных возможностей Office
Добавить новые возможности в приложения Office можно посредством следующего:
настраиваемые кнопки ленты и команды меню (в совокупности зовутся "командами надстройки");
вставляемые области задач.
Пользовательский интерфейс и области задач указаны в манифесте надстройки.
Настраиваемые кнопки и команды меню
Вы можете добавлять настраиваемые кнопки ленты и элементы меню на ленту в Office для Интернета и Windows. Благодаря этому пользователям будет проще получать доступ к надстройке непосредственно из приложения Office. С помощью командных кнопок можно выполнять различные действия, такие как отображение области задач с пользовательским HTML или выполнение функции JavaScript.
Рис. 3. Команды надстройки на ленте
Области задач
Для работы с решением пользователи могут использовать не только команды надстройки, но и области задач. В клиентах, не поддерживающих команды надстроек (Office 2013 и Office для iPad), надстройка запускается в виде области задач. Пользователи запускают надстройки области задач с помощью кнопки Мои надстройки на вкладке Вставка.
Рис. 4. Область задач
Расширение возможностей Outlook
Надстройки Outlook могут получать доступ к зависящей от контекста информации, предоставляемой элементом, например к адресу или идентификатору для отслеживания, а затем использовать эти данные для доступа к дополнительным сведениям на сервере и в веб-службах с целью повышения удобства работы пользователей. В большинстве случаев надстройка Outlook может без изменений работать в приложении Outlook, обеспечивая согласованность интерфейса на компьютерах, в Интернете, на планшетах и на мобильных устройствах.
Создание новых объектов в документах Office
Вы можете внедрить веб-объекты, или контентные надстройки, в документы Excel и PowerPoint. Благодаря контентным надстройкам можно интегрировать мультимедиа (например, видеопроигрыватель YouTube или галерею рисунков), полнофункциональные веб-визуализации данных и другое внешнее содержимое.
Рис. 5. Контентная надстройка
API JavaScript для Office
API JavaScript для Office содержат объекты и элементы для создания надстроек и взаимодействия с содержимым Office и веб-службами. В Excel, Outlook, Word, PowerPoint, OneNote и Project используется общая объектная модель. Кроме того, существуют расширенные объектные модели для Excel и Word. Эти API предоставляют доступ к известным объектам, таким как абзацы и книги, что упрощает создание надстройки для определенного приложения.
Дальнейшие действия
Дополнительные вводные сведения о разработке надстроек Office см. в статье Разработка надстроек Office.
When you enable an add-in, it adds custom commands and new features to Office programs that help increase your productivity. Because add-ins can be used by hackers to do malicious harm to your computer, you can use add-in security settings to change their behavior.
Note: These steps only apply to Microsoft Office applications running on Windows.
Taking linked notes
If you're looking for Help on linking notes in OneNote to a Word or PowerPoint document, see Take linked notes.
Excel Windows Add-ins
If you're looking for Help on specific Excel Add-ins included with Office such as Solver or Inquire, see Help for Excel for Windows add-ins.
If you're looking for additional help with Excel add-ins using the COM Add-ins dialog box, see Add or remove add-ins in Excel.
Click a heading below for more information.
You can click Enable Content on the Message Bar if you know the add-in is from a reliable source.
To disable or remove an add-in follow these steps:
Click File > Options > Add-ins
Towards the bottom of the window, where it says Manage, click the Go button
In the dialog box, select the add-ins you want to disable or remove
To disable the add-in, just uncheck the box in front of its name. To uninstall the add-in select it and click Remove
Click OK to save your changes and return to your document
You can see and change add-in settings in the Trust Center, descriptions of which are in the following section. Add-in security settings may have been determined by your organization so not all options may be available to change.
Click File > Options.
Click Trust Center > Trust Center Settings > Add-ins.
Check or uncheck the boxes you want.
Require Application Add-ins to be signed by Trusted Publisher Check this box to have the Trust Center check that the add-in uses a publisher's trusted signature. If the publisher's signature hasn’t been trusted, the Office program doesn’t load the add-in, and the Trust Bar displays a notification that the add-in has been disabled.
Disable notification for unsigned add-ins (code will remain disabled) When you check the Require Application Extensions to be signed by Trusted Publisher box, this option is no longer grayed out. Add-ins signed by a trusted publisher are enabled, but unsigned add-ins are disabled.
Disable all Application Add-ins (may impair functionality) Check this box if you don't trust any add-ins. All add-ins are disabled without any notification, and the other add-in boxes are grayed out.
Note: This setting takes effect after you exit and restart your Office program.
While working with add-ins, you may need to learn more about digital signatures and certificates, which authenticate an add-in, and trusted publishers, the software developers who often create add-ins.
Click File > Options > Add-Ins.
Highlight each add-in to see the add-in name, its publisher, compatibility, it’s location on your computer, and a description of its functions.
Active Application Add-ins Add-ins registered and currently running in your Office program.
Inactive Application Add-ins These are present on your computer but not currently loaded. For example, XML schemas are active when the document that refers to them is open. Another example is the COM add-in: if a COM add-in is selected, the add-in is active. If the check box is cleared, the add-in is inactive.
Document Related Add-ins Template files referred to by open documents.
Disabled Application Add-ins These add-ins are automatically disabled because they are causing Office programs to crash.
Add-in The title of the add-in.
Publisher The software developer or organization responsible for creating the add-in.
Compatibility Look here for any compatibility issues.
Location This file path indicates where the add-in is installed on your computer.
Description This text explains the add-in function.
Note: Microsoft Outlook has one add-in option in the Trust Center: Apply macro security settings to installed add-ins. InfoPath has no security settings for add-ins.
Use the following instruction to manage and install add-ins.
Click File > Options > Add-Ins.
Select an add-in type.
Select the add-ins to add, remove, load, or upload. Or browse to locate add-ins to install.
If you've subscribed to an add-in through the Office Store that you don't want to continue, you can cancel that subscription
Open the Office application and go to the Insert tab of the ribbon.
In the Add-ins group click My Add-ins
Choose Manage My Add-ins
Click the app you want to cancel and under Action click Manage Subscription.
Under the Payment and Billing section choose Cancel Subscription.
Click OK and then Continue.
Once that's complete you should see a message that says "You have cancelled your app subscription" in the comments field of your apps list.
Some add-ins might not be compatible with your organization's IT department policies. If that is the case with add-ins recently installed in your Office program, Data Execution Prevention (DEP) will disable the add-in and the program might crash.
See also
Important: Office 2007 is no longer supported. Upgrade to Microsoft 365 to work anywhere from any device and continue to receive support.
Click a heading below for more information.
When you install the 2007 Microsoft Office system, several add-ins are installed and registered automatically on your computer.
Word, Excel, Access, and PowerPoint
Click the Microsoft Office Button , click the Options button, and then click Add-Ins.
View the add-ins and application extensions that are categorized as follows:
Active Application Add-ins Lists the extensions that are registered and currently running in your Office program.
Inactive Application Add-ins Lists the add-ins that are present on your computer but are not currently loaded. For example, smart tags or XML Schemas are active only when the document that references them is open. Another example is the COM add-ins that are listed in the COM Add-ins dialog box. If the check box for a COM add-in is selected, the add-in is active. If the check box for a COM add-in is cleared, the add-in is inactive. To learn how to open the COM Add-in dialog box, see the next section, Turn off or manage the installed add-ins.
Document Related Add-ins Lists template files that are referenced by currently open documents.
Disabled Application Add-ins Lists add-ins that were automatically disabled because they are causing Office programs to crash.
Outlook, InfoPath, Publisher, and Visio
On the Tools menu, click Trust Center, and then click Add-ins.
View the add-ins and application extensions that are categorized as follows:
Active Application Add-ins Lists the extensions that are registered and currently running in your Office program.
Inactive Application Add-ins Lists the add-ins that are present on your computer but are not currently loaded. For example, smart tags or XML Schemas are active only when the document that references them is open. Another example is the COM add-ins that are listed in the COM Add-ins dialog box. If the check box for a COM add-in is selected, the add-in is active. If the check box for a COM add-in is cleared, the add-in is inactive. To learn how to open the COM Add-in dialog box, see the next section, Turn off or manage the installed add-ins.
Document Related Add-ins Lists template files that are referenced by currently open documents.
Disabled Application Add-ins Lists add-ins that were automatically disabled because they are causing Office programs to crash.
Managing add-ins can involve enabling or disabling an add-in, adding or removing an add-in, and making an add-in active or inactive.
Word, Excel, Access, and PowerPoint
Click the Microsoft Office Button , click Word Options, and then click Add-Ins.
In the Add-ins box, identify the add-in that you want to enable or disable and note the add-in type located in the Type column.
Select the add-in type in the Manage box and then click Go.
Select or clear the check box for the add-in that you want enable or disable and then click OK.
Note: Add-ins of type Document Inspector are enabled using a different method. These add-ins are automatically enabled when you inspect the document for hidden metadata or personal information. To inspect your document, click the Microsoft Office Button , click Prepare, and then click Inspect Document.
Outlook, InfoPath, Publisher, and Visio
On the Tools menu, click Trust Center, and then click Add-ins.
In the Add-ins box, identify the add-in that you want to enable or disable and note the add-in type located in the Type column.
Select the add-in type in the Manage box and then click Go.
Select or clear the check box for the add-in that you want enable or disable and then click OK.
Identify custom buttons and controls added to the Ribbon from add-insAdd-ins and documents can add custom buttons and controls to the Ribbon, which is part of the Microsoft Office Fluent user interface. All custom controls in the Office Fluent Ribbon have a special ScreenTip that identifies the origin of the control. In this example, the control comes from RXDemo.xlsm, and is identified in the control's ScreenTip.
This way, you know where the custom controls are coming from and can then remove or update the document, global template, or COM add-in that is presenting the control. See the previous section to learn how to view installed COM add-ins.
By default, installed and registered add-ins are allowed to run without notification. Add-ins can be exploited by hackers to do malicious harm, such as spreading a virus, so you can use the security settings for add-ins to change this behavior. For more information, see View or change add-in security settings later in this article.
If you or your administrator set a higher security setting for add-ins and the Trust Center detects a potentially unsafe add-in that does not meet these criteria, the Trust Center disables the code by default, and the Message Bar appears to notify you of a potentially unsafe add-in or application extension.
If you click Options on the Message Bar, a security dialog box opens, giving you the option to enable the add-in. See the next section for how to make a secure decision before you click an option.
Note: In Microsoft Office Outlook 2007 and Microsoft Office Publisher 2007, security alerts appear in dialog boxes, not in the Message Bar. By default, Office Outlook 2007 allows any installed add-in to run. To change the default setting, see View or change add-in security settings later in this article.
When you change an add-in security setting, it affects only the program in which the change was made. Do the following in these 2007 Microsoft Office system programs:
Word, Excel, Access, and PowerPoint
Click the Microsoft Office Button , and then click the Options button.
Click Trust Center, click Trust Center Settings, and then click Add-ins.
Click the options that you want. These settings are not selected by default unless you work in an organization and your information technology (IT) administrator changed the defaults by using an administrator policy.
Require Application Add-ins to be signed by Trusted Publisher Select this option if you want the Trust Center to check for a digital signature on the dynamic-link library (.dll) file that contains the add-in. If the publisher has not been trusted, the Office program does not load the add-in, and the Message Bar displays a notification that the add-in has been disabled.
Disable notification for unsigned add-ins (code will remain disabled) This check box is available only if you select the Require Application Extensions to be signed by Trusted Publisher check box. In some situations, the dynamic-link library (.dll) file that contains the add-in might be unsigned. In these cases, add-ins signed by a trusted publisher are enabled, but unsigned add-ins are disabled silently.
Disable all Application Add-ins (may impair functionality) Select this check box if you don't trust any add-ins. All add-ins are disabled without any notification, and the other add-in check boxes are made unavailable.
Note: This setting takes effect only after you exit and restart your Office program.
By default, Outlook allows any installed add-in to run. You can restrict Outlook to run only those add-ins that are digitally signed by applying the Warnings for signed macros; all unsigned macros are disabled setting to add-ins, as follows:
On the Tools menu, click Trust Center.
In the left pane, click Macro Security.
Click Warnings for signed macros; all unsigned macros are disabled.
In the left pane, click Add-ins.
Select the Apply macro security settings to installed add-ins check box.
InfoPath, Publisher, and Visio
On the Tools menu, click Trust Center.
Click Add-ins.
Click the options that you want. These settings are not selected by default unless you work in an organization and your information technology (IT) administrator changed the defaults by using an administrator policy.
Require Application Add-ins to be signed by Trusted Publisher Select this option if you want the Trust Center to check for a digital signature on the dynamic-link library (.dll) file that contains the add-in. If the publisher has not been trusted, the Office program does not load the add-in, and the Message Bar displays a notification that the add-in has been disabled.
Disable notification for unsigned add-ins (code will remain disabled) This check box is available only if you select the Require Application Extensions to be signed by Trusted Publisher check box. In some situations, the dynamic-link library (.dll) file that contains the add-in might be unsigned. In these cases, add-ins signed by a trusted publisher are enabled, but unsigned add-ins are disabled silently.
Disable all Application Add-ins (may impair functionality) Select this check box if you don't trust any add-ins. All add-ins are disabled without any notification, and the other add-in check boxes are made unavailable.
Note: This setting takes effect only after you exit and restart your Office program.
I get a message that the HKEY_LOCAL_MACHINE cannot be changedIf you try to disable an add-in and receive the message, "The connected state of Office Add-Ins registered in HKEY_LOCAL_MACHINE cannot be changed", do the following:
Close Outlook if you have it open.
Verify that the Outlook service is not running by doing the following:
Right-click a blank area in the taskbar, click Task Manager, and then click Processes.
Look for Microsoft Outlook in the processes list:
If Outlook is not in the list, go to step 3.
If Outlook is in the list, click it, and then click End task.
Right-click Outlook on the Start menu, and then click Run as administrator.
Disable the add-ins you want to disable following the steps in the Disable or manage the installed add-ins section, earlier in this article.
Open Outlook normally (not in administrator mode).
A security warning asks if I want to enable or disable an add-in or application extensionWhen a security dialog box appears, you can enable the add-in for just the current session by clicking Enable this add-in for this session only, or you can leave it disabled. You should enable the add-in only if you are sure it is from a trustworthy source.
Alternately, you can explicitly trust the publisher by clicking Enable all code published by this publisher. Doing so enables the add-in and allows any software by that publisher to be always trusted.
In Office Outlook 2007, when the security dialog box appears, you can enable the add-in for just the current session by clicking Enable Application Add-in, or you can leave it disabled. You should enable the add-in only if you are sure it is from a trustworthy source.
Alternately, you can explicitly trust the publisher by clicking Trust all documents from this publisher. Doing so enables the add-in and allows any software by that publisher to be always trusted.
For more information about trusted publishers, see Add, remove, or view a trusted publisher.
Читайте также: