Создание надстройки для outlook 2016
В этом пошаговом руководстве показано, как создать надстройку VSTO для Microsoft Office Outlook. Функции, создаваемые в подобном решении, доступны для приложения независимо от того, какой элемент Outlook открыт. дополнительные сведения см. в статье Office solutions development overview (VSTO).
Применимо к: Сведения в этом разделе относятся к добавлению VSTO - в проекты для Outlook. Дополнительные сведения см. в разделе доступность функций по типам приложений Office и проектов.
Интересуетесь разработкой решений, расширяющих возможности Office на нескольких платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office имеют небольшой объем по сравнению с надстройками и решениями VSTO, и их можно создавать с помощью практически любой технологии веб-программирования, такой как HTML5, JavaScript, CSS3 и XML.
В этом пошаговом руководстве описаны следующие задачи:
создание проекта надстройки VSTO для Outlook;
Построение и запуск проекта для тестирования.
Удаление завершенного проекта для прекращения автоматического запуска надстройки VSTO на компьютере разработчика.
Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.
Предварительные требования
Для выполнения этого пошагового руководства требуются следующие компоненты:
Выпуск Visual Studio, включающий инструменты разработчика Microsoft Office. Дополнительные сведения см. в статье Настройка компьютера для разработки решений Office.
Создание проекта
Создание проекта Outlook в Visual Studio
Запустите среду Visual Studio.
В меню Файл укажите Создать, затем нажмите Проект.
В развернутом узле Office/SharePoint выберите узел Надстройки Office .
В списке шаблонов проектов выберите шаблон проекта надстройки VSTO Outlook.
В поле Имя введите FirstOutlookAddIn.
Нажмите OK.
Visual Studio создает проект FirstOutlookAddIn и открывает файл кода ThisAddIn в редакторе.
Частичное определение класса ThisAddIn . Этот класс предоставляет точку входа для кода и обеспечивает доступ к объектной модели Outlook. дополнительные сведения см. в статье надстройки программы VSTO. Оставшаяся часть ThisAddIn класса определяется в скрытом файле кода, который не следует изменять.
Обработчики событий ThisAddIn_Startup и ThisAddIn_Shutdown . Эти обработчики событий вызываются, когда Outlook загружает и выгружает надстройку VSTO. Их можно использовать для инициализации надстройки VSTO в процессе ее загрузки, а также для освобождения ресурсов, используемых вашей надстройкой VSTO при ее выгрузке. дополнительные сведения см. в разделе события в Office проектах.
В файле кода ThisAddIn объявите поле с именем inspectors в классе ThisAddIn . Поле inspectors содержит ссылку на коллекцию окон инспектора в текущем экземпляре Outlook. Эта ссылка не позволит сборщику мусора освободить память, содержащую обработчик событий для NewInspector .
Замените метод ThisAddIn_Startup приведенным ниже кодом. Этот код присоединяет обработчик событий к NewInspector .
В файл кода ThisAddIn добавьте в класс ThisAddIn указанный ниже код. Он присоединяет обработчик событий к NewInspector .
Поле Application класса ThisAddIn . Поле Application возвращает объект Application , который представляет текущий экземпляр Outlook.
Тестирование проекта
Тестирование проекта
Нажмите клавишу F5 для построения и запуска проекта.
При построении проекта код компилируется в сборку, которая включается в выходную папку сборки для проекта. Visual Studio также создает ряд записей реестра, которые позволяют Outlook обнаружить и загрузить надстройку VSTO, и настраивает параметры безопасности на компьютере разработчика, разрешая запуск надстройки VSTO. дополнительные сведения см. в разделе обзор процесса сборки Office решения.
Этот текст добавляется с помощью кода.
Очистить проект
Завершив разработку проекта, удалите с компьютера сборку надстройки VSTO, записи реестра и параметры безопасности. В противном случае надстройка VSTO будет запускаться при каждом открытии Outlook на компьютере разработчика.
Очистка проекта
- В Visual Studio в меню Построение выберите пункт Очистить решение.
Дальнейшие действия
Теперь, когда вы создали базовую надстройку VSTO для Outlook, изучите более подробную информацию о разработке надстроек VSTO в следующих разделах.
Общие задачи программирования, которые можно выполнять с помощью надстроек VSTO для Outlook. дополнительные сведения см. в статье надстройки программы VSTO.
Использование объектной модели Outlook. дополнительные сведения см. в разделе Outlook solutions.
Настройка пользовательского интерфейса Outlook, например путем добавления настраиваемой вкладки на ленту или создания собственной настраиваемой области задач. дополнительные сведения см. в разделе Office настройка пользовательского интерфейса.
Построение и отладка надстроек VSTO для Outlook. дополнительные сведения см. в разделе Build Office solutions.
Развертывание надстроек VSTO для Outlook. дополнительные сведения см. в разделе Deploy a Office solution.
В этом руководстве описан порядок выполнения перечисленных ниже задач.
Необходимые условия
Последняя версия Yeoman и генератора Yeoman для надстроек Office. Выполните в командной строке указанную ниже команду, чтобы установить эти инструменты глобально.
Даже если вы уже установили генератор Yeoman, рекомендуем обновить пакет до последней версии из npm.
Visual Studio Code (VS Code) или используемый вами редактор кода
Outlook 2016 или более поздней версии для Windows (подключенный к учетной записи Microsoft 365) или Outlook в Интернете
Настройка
В поле Gist description. (Описание gist) введите Hello World Markdown.
В поле Filename including extension. (Имя файла с расширением) введите test.md.
Добавьте в многострочное текстовое поле указанную ниже разметку.
В поле Gist description. (Описание gist) введите Hello World Html.
В поле Filename including extension. (Имя файла с расширением) введите test.html.
Добавьте в многострочное текстовое поле указанную ниже разметку.
Создание проекта надстройки Outlook
Выполните следующую команду, чтобы создать проект надстройки с помощью генератора Yeoman.
При выполнении команды yo office может появиться запрос о политиках сбора данных генератора Yeoman и средств CLI надстройки Office. Используйте предоставленные сведения, чтобы ответить на запросы подходящим образом.
При появлении запроса предоставьте следующую информацию для создания проекта надстройки.
Выберите тип проекта - Office Add-in Task Pane project
Выберите тип сценария - JavaScript
Как вы хотите назвать надстройку? - Git the gist
Какое клиентское приложение Office должно поддерживаться? - Outlook
После завершения работы мастера генератор создаст проект и установит вспомогательные компоненты Node.
Вы можете игнорировать инструкции по дальнейшим действиям, предоставляемые генератором Yeoman после создания проекта надстройки. Пошаговые инструкции этой статьи содержат все сведения, необходимые для завершения этого учебного курса.
Перейдите к корневому каталогу проекта.
Эта надстройка будет использовать указанные ниже библиотеки.
- Библиотека Showdown для преобразования Markdown в HTML.
- Библиотека URI.js для создания относительных URL-адресов.
- Библиотеки jquery для упрощения взаимодействий DOM.
Чтобы установить эти инструменты для своего проекта, выполните в корневом каталоге проекта указанную ниже команду.
Откройте проект в VS Code или используемом вами редакторе кода.
В Windows вы можете перейти в корневой каталог проекта с помощью командной строки и ввести code . , чтобы открыть эту папку в VS Code. На компьютере Mac потребуется добавить в путь команду code перед использованием этой команды для открытия папки проекта в VS Code.
Обновление манифеста
Манифест надстройки управляет ее отображением в Outlook. Он определяет, как надстройка отображается в списке, а также задает кнопки на ленте и URL-адреса файлов HTML и JavaScript, используемых надстройкой.
Указание основных сведений
Внесите следующие изменения в файл manifest.xml, чтобы указать некоторые основные сведения о надстройке.
Найдите элемент ProviderName и замените значение по умолчанию на название вашей компании.
Найдите элемент Description, замените значение по умолчанию на описание надстройки и сохраните файл.
Тестирование созданной надстройки
Прежде чем продолжить, протестируйте базовую надстройку, созданную генератором, чтобы подтвердить правильную настройку проекта.
Выполните указанную ниже команду в корневом каталоге своего проекта. После выполнения этой команды запустится локальный веб-сервер и будет загружена ваша неопубликованная надстройка.
При появлении запроса с диалоговым окном Остановка при загрузке веб-представления выберите ОК.
После нажатия кнопки Отмена диалоговое окно не будет отображаться в процессе работы с этим экземпляром надстройки. Однако при перезапуске надстройки диалоговое окно снова появится.
Если настройка выполнена правильно, откроется область задач и отобразится страница приветствия надстройки.
Определение кнопок
Insert gist (Вставить gist): кнопка, открывающая область задач
Insert default gist (Вставить gist по умолчанию): кнопка, вызывающая функцию
Удаление точки расширения MessageReadCommandSurface
Добавление точки расширения MessageComposeCommandSurface
Найдите в манифесте строку . Непосредственно перед ней вставьте приведенную ниже разметку XML. Обратите внимание на следующие особенности этой разметки.
С помощью элемента OfficeTab с параметром id="TabDefault" вы указываете, что нужно добавить кнопки на вкладку ленты по умолчанию.
Элемент Group определяет группу новых кнопок, а ресурс groupLabel задает подпись группы.
Первый элемент Control содержит элемент Action с параметром xsi:type="ShowTaskPane" , поэтому эта кнопка открывает область задач.
Второй элемент Control содержит элемент Action с параметром xsi:type="ExecuteFunction" , поэтому кнопка вызывает функцию JavaScript, содержащуюся в файле функций.
Обновление ресурсов в манифесте
Приведенный выше код ссылается на подписи, подсказки и URL-адреса, которые необходимо определить, чтобы манифест был действительным. Вам нужно указать эту информацию в разделе Resources манифеста.
Найдите элемент Resources в файле манифеста и удалите весь элемент (включая его закрывающий тег).
Добавьте в то же местоположение следующую разметку, чтобы заменить только что удаленный элемент Resources.
Сохраните изменения манифеста.
Переустановка надстройки
Чтобы изменения манифеста вступили в силу, переустановите надстройку.
Если веб-сервер работает, закройте окно команды узла.
Выполните указанные ниже команды, чтобы запустить локальный веб-сервер и автоматически загрузить неопубликованную надстройку.
Реализация интерфейса первого запуска
Эта надстройка должна иметь возможность считывать элементы gist из учетной записи GitHub пользователя и определять, какой из них пользователь выбрал в качестве используемого по умолчанию. Для выполнения этих целей надстройка должна предложить пользователю указать его имя пользователя GitHub и выбрать элемент gist в качестве используемого по умолчанию из его коллекции существующих элементов gist. Выполните действия, описанные в этом разделе, чтобы реализовать интерфейс первого запуска, отображающий диалоговое окно для получения этих сведений от пользователя.
Получение данных от пользователя
Начнем с создания пользовательского интерфейса для самого диалогового окна. Создайте в папке ./src новую подпапку с именем settings. Создайте в папке ./src/settings файл с именем dialog.html и добавьте следующую разметку, чтобы определить базовую форму с вводом текста для имени пользователя GitHub, а также пустой список элементов gist, который будет заполнен с помощью JavaScript.
Вы могли заметить, что HTML-файл ссылается на файл JavaScript gist-api.js, который еще не существует. Этот файл будет создан в разделе Получение данных из GitHub ниже.
Затем создайте в папке ./src/settings файл с именем dialog.css и добавьте приведенный ниже код, чтобы указать стили, используемые файлом dialog.html.
Теперь, после определения пользовательского интерфейса диалогового окна, можно написать код для выполнения в нем действий. Создайте в папке ./src/settings файл с именем dialog.js и добавьте приведенный ниже код. Обратите внимание, что в этом коде используется jQuery для регистрации событий, а также функция messageParent для возвращения выбранных пользователем параметров вызывающей стороне.
Обновление настроек конфигурации webpack
Наконец, откройте файл webpack.config.js, расположенный в корневом каталоге проекта, и выполните описанные ниже шаги.
Найдите объект entry в объекте config и добавьте новую запись для dialog .
После этого новый объект entry будет выглядеть следующим образом:
Найдите массив plugins в объекте config . В массив patterns объекта new CopyWebpackPlugin добавьте новые записи для taskpane.css и dialog.css.
После этого объект new CopyWebpackPlugin будет выглядеть следующим образом:
В том же массиве plugins в объекте config добавьте этот новый объект в конец массива.
После этого новый массив plugins будет выглядеть следующим образом:
Получение данных из GitHub
Только что созданный файл dialog.js определяет, что надстройка должна загружать элементы gist, если возникает событие change для поля имени пользователя GitHub. Для получения элементов gist пользователя из GitHub используется API элементов gist GitHub.
Создайте в папке ./src новую подпапку с именем helpers. Создайте в папке ./src/helpers файл с именем gist-api.js и добавьте следующий код, чтобы получить элементы gist пользователя из GitHub и составить список элементов gist.
Выполните указанную ниже команду, чтобы повторно собрать проект.
Реализация кнопки без пользовательского интерфейса
Эта кнопка надстройки Insert default gist (Вставить gist по умолчанию) является кнопкой без пользовательского интерфейса, вызывающей функцию JavaScript вместо открытия области задач, выполняемого многими кнопками надстройки. Если пользователь нажимает кнопку Insert gist (Вставить gist), соответствующая функция JavaScript проверяет наличие конфигурации надстройки.
Если конфигурация надстройки еще не выполнена, диалоговое окно параметров предложит пользователю предоставить нужные сведения.
Обновление файла функции (HTML)
Откройте файл ./src/commands/commands.html и замените все содержимое приведенной ниже разметкой.
Вы могли заметить, что HTML-файл ссылается на файл JavaScript addin-config.js, который еще не существует. Этот файл будет создан в этом руководстве в разделе Создание файла для управления параметрами конфигурации ниже.
Обновление файла функции (JavaScript)
Создание файла для управления параметрами конфигурации
HTML-файл функции ссылается на файл под названием addin-config.js, которого еще не существует. В папке ./src/helpers создайте файл с именем addin-config.js и добавьте указанный ниже код. В этом коде используется объект RoamingSettings, позволяющий получать и задавать значения конфигурации.
Создание новых функций для обработки элементов gist
Затем откройте файл ./src/helpers/gist-api.js и добавьте указанные ниже функции. Обратите внимание на перечисленные ниже аспекты.
Тестирование кнопки Insert default gist (Вставить gist по умолчанию)
Сохраните все изменения и выполните в командной строке команду npm start , если сервер еще не запущен. Затем выполните указанные ниже действия, чтобы протестировать кнопку Insert default gist (Вставить gist по умолчанию).
В диалоговом окне параметров введите имя пользователя GitHub, а затем нажмите клавишу TAB или щелкните в другом месте диалогового окна, чтобы вызвать событие change, которое должно загрузить ваш список общедоступных элементов gist. Выберите элемент gist, который будет использоваться по умолчанию, и нажмите Готово.
Реализация области задач
Указание HTML для области задач
В созданном вами проекте HTML области задач указан в файле ./src/taskpane/taskpane.html. Откройте этот файл и замените все содержимое приведенной ниже разметкой.
Указание CSS для области задач
В созданном вами проекте CSS области задач указан в файле ./src/taskpane/taskpane.css. Откройте этот файл и замените все содержимое приведенным ниже кодом.
Указание JavaScript для области задач
В созданном вами проекте область задач JavaScript указана в файле ./src/taskpane/taskpane.js. Откройте этот файл и замените все содержимое приведенным ниже кодом.
Тестирование кнопки Insert gist (Вставить gist)
Сохраните все изменения и выполните в командной строке команду npm start , если сервер еще не запущен. Затем выполните указанные ниже действия, чтобы протестировать кнопку Insert gist (Вставить gist).
Дальнейшие действия
Создание надстройки
Можно создать надстройку Office с помощью генератора Yeoman для надстроек Office или Visual Studio. Генератор Yeoman создает проект Node.js, которым можно управлять с помощью Visual Studio Code или любого другого редактора, а Visual Studio создает решение Visual Studio. Выберите вкладку с нужным вариантом и следуйте инструкциям, чтобы создать надстройку и протестировать ее локально.
Необходимые условия
Если вы не знакомы с Node.js или NPM, начните с настройки среды разработки.
Последняя версия Yeoman и генератора Yeoman для надстроек Office. Выполните в командной строке указанную ниже команду, чтобы установить эти инструменты глобально.
Даже если вы уже установили генератор Yeoman, рекомендуем обновить пакет до последней версии из npm.
Visual Studio Code (VS Code) или используемый вами редактор кода
Outlook 2016 или более поздней версии для Windows (подключенный к учетной записи Microsoft 365) или Outlook в Интернете
Создание проекта надстройки
Выполните следующую команду, чтобы создать проект надстройки с помощью генератора Yeoman.
При выполнении команды yo office может появиться запрос о политиках сбора данных генератора Yeoman и средств CLI надстройки Office. Используйте предоставленные сведения, чтобы ответить на запросы подходящим образом.
При появлении запроса предоставьте следующую информацию для создания проекта надстройки.
Выберите тип проекта - Office Add-in Task Pane project
Выберите тип сценария - JavaScript
Как вы хотите назвать надстройку? - My Office Add-in
Какое клиентское приложение Office должно поддерживаться? - Outlook
После завершения работы мастера генератор создаст проект и установит вспомогательные компоненты Node.
Вы можете игнорировать инструкции по дальнейшим действиям, предоставляемые генератором Yeoman после создания проекта надстройки. Пошаговые инструкции этой статьи содержат все сведения, необходимые для завершения этого учебного курса.
Перейдите в корневую папку проекта веб-приложения.
Знакомство с проектом
Проект надстройки, который вы создали с помощью генератора Yeoman, содержит образец кода для простейшей надстройки области задач.
- Файл ./manifest.xml в корневом каталоге проекта определяет настройки и возможности надстройки.
- Файл ./src/taskpane/taskpane.html содержит разметку HTML для области задач.
- Файл ./src/taskpane/taskpane.css содержит код CSS, который применяется к содержимому области задач.
- Файл ./src/taskpane/taskpane.js содержит код API JavaScript для Office, который упрощает взаимодействие между областью задачи и Outlook.
Обновление кода
Откройте проект в VS Code или используемом вами редакторе кода.
В Windows вы можете перейти в корневой каталог проекта с помощью командной строки и ввести code . , чтобы открыть эту папку в VS Code. На компьютере Mac потребуется добавить в путь команду code перед использованием этой команды для открытия папки проекта в VS Code.
Откройте файл ./src/taskpane/taskpane.html и замените весь элемент (внутри элемента ) приведенной ниже разметкой. Эта новая разметка добавляет метку в том месте, где скрипт ./src/taskpane/taskpane.js запишет данные.
Проверка
Выполните указанную ниже команду в корневом каталоге своего проекта. После выполнения этой команды запустится локальный веб-сервер и будет загружена неопубликованная надстройка.
При появлении запроса с диалоговым окном Остановка при загрузке веб-представления выберите ОК.
После нажатия кнопки Отмена диалоговое окно не будет отображаться в процессе работы с этим экземпляром надстройки. Однако при перезапуске надстройки диалоговое окно снова появится.
Дальнейшие действия
Поздравляем! Вы успешно создали свою первую надстройку для области задач Outlook! Теперь воспользуйтесь руководством по надстройкам Outlook, чтобы узнать больше о возможностях надстроек Outlook и создать более сложную надстройку.
Необходимые компоненты
Visual Studio 2019 с установленной рабочей нагрузкой Разработка надстроек для Office и SharePoint
Если вы уже установили Visual Studio 2019, используйте установщик Visual Studio, чтобы убедиться, что также установлена рабочая нагрузка Разработка надстроек для Office и SharePoint.
Если у вас нет подписки на Microsoft 365, вы можете получить бесплатную подписку, зарегистрировавшись в программе для разработчиков Microsoft 365.
Создание проекта надстройки
В строке меню Visual Studio выберите Файл > Создать > Проект.
Укажите имя проекта и нажмите кнопку ОК.
Visual Studio создаст решение, и в обозревателе решений появятся два соответствующих проекта. В Visual Studio откроется файл MessageRead.html.
Обзор решения Visual Studio
После завершения работы мастера Visual Studio создает решение, которое содержит два проекта.
Проект | Описание |
---|---|
Проект надстройки | Содержит только XML-файл манифеста со всеми параметрами надстройки. Эти параметры помогают приложению Office определить условия активации и место отображения надстройки. Visual Studio создает этот файл автоматически, чтобы вы могли сразу запускать проект и использовать надстройку. Вы можете изменить эти параметры в любой момент, отредактировав XML-файл. |
Проект веб-приложения | Содержит страницы контента надстройки, включающие все файлы и ссылки на файлы, необходимые для разработки страниц HTML и JavaScript с поддержкой Office. При разработке надстройки Visual Studio размещает веб-приложение на локальном сервере IIS. Для публикации надстройки этот проект веб-приложения нужно развернуть на веб-сервере. |
Обновление кода
Файл MessageRead.html содержит HTML-контент, который будет отображаться в области задач надстройки. Замените элемент в MessageRead.html приведенной ниже частью кода и сохраните файл.
Откройте файл MessageRead.js в корневой папке проекта веб-приложения. Этот файл содержит скрипт надстройки. Замените все его содержимое указанным ниже кодом и сохраните файл.
Откройте файл MessageRead.css в корневой папке проекта веб-приложения. Этот файл определяет специальные стили надстройки. Замените все его содержимое указанным ниже кодом и сохраните файл.
Обновление манифеста
Откройте XML-файл манифеста в проекте надстройки. Этот файл определяет параметры и возможности надстройки.
Элемент ProviderName содержит заполнитель. Замените его на свое имя.
Атрибут DefaultValue элемента DisplayName содержит заполнитель. Замените его на текст My Office Add-in .
Атрибут DefaultValue элемента Description содержит заполнитель. Замените его на строку My First Outlook add-in .
Проверка
Протестируйте созданную в Visual Studio надстройку Outlook, нажав F5 или кнопку Запуск. Надстройка будет размещена на локальном сервере IIS.
Найдите кнопку надстройки в меню переполнения.
Если область задач не загружается, проверьте ее, открыв в браузере на том же компьютере.
Дальнейшие действия
Поздравляем! Вы успешно создали свою первую надстройку для области задач Outlook! Теперь изучите дополнительные сведения о разработке надстроек Office с помощью Visual Studio.
Знаете ли вы, что, исходя из результатов некоторых зарубежных исследований, средний офисный работник тратит более двух часов своего рабочего времени в день на работу с электронной почтой? Если быть более точным – 13 часов в неделю, что составляет почти 85 рабочих дней в год! Только вдумайтесь в эти цифры. Сколько всего можно сделать за это время? А сколько это будет стоить вашей организации, если перевести часы в деньги? Очень интересные вопросы, над которыми стоит задуматься…
Слайд взят из презентации на Slideshare.
В мире почтовых клиентов Outlook занимает одну из лидирующих позиций. Более того, Office используют более одного миллиарда человек, и он является доминирующим инструментом в корпоративном сегменте.
В нашей компании им пользуются практически все, а это значит, что именно в Outlook наши сотрудники проводят 25% своего рабочего времени. Давайте копнем немного глубже и подумаем, куда именно уходит наше время, когда мы в очередной раз заходим в Outlook, чтобы проверить почту.
Рассмотрим лишь некоторых пожирателей времени:
- Мы читаем письма. Кто-то быстрее, кто-то медленнее, но читать приходится всем, и мы будем продолжать это делать и дальше;
- Нам могут задать вопрос, и в зависимости от вопроса мы можем потратить время на уточнение свободного времени в своем календаре, поиск какого-либо документа, определение местоположения нужного нам места по онлайн-карте, звонок кому-то, бронирование переговорной и т.д.;
- Нам могут прислать документ, который нужно сохранить в системе электронного документооборота;
- Мы тратим время, заходя в сторонние системы из писем-напоминаний и делая в них то, о чем нам собственно напомнили, например, заполняем отчеты по трудозатратам за день.
- Мы отвечаем на письма.
Я разделяю все возможные сценарии на 3 основные группы:
- «Быстрее воспринимать информацию»
- В письме есть адрес – хочу увидеть карту в один клик;
- В письме есть иностранные слова – хочу увидеть перевод в один клик; и т.д.
- «Быстрее отвечать»
- Постоянно приходится писать повторяющиеся предложения – хочу организовать их в список и уметь быстро вставить в письмо;
- Нужно приложить к письму документ из системы электронного документооборота – хочу тут же сделать поиск документов и выбрать нужный, не выходя из Outlook; и т.д.
- «Быстрее делать»
- Получил напоминание от сторонней системы – хочу сделать требуемое действие, не выполняя переход непосредственно к системе и вход в нее, т.е. прямо из интерфейса Outlook;
- Требуется согласовать документ – хочу иметь возможность просмотреть документ и нажать «Согласовать» прямо из письма;
- Прислали новый договор – хочу перенести его в корпоративную систему электронного документооборота за пару кликов;
- Назначили встречу – хочу забронировать такси на указанное время прямо из письма; и т.д.
Думаю, всем не понаслышке знаком вопрос по учету трудозатрат в организации. По большей части, именно количество часов на разработку, тестирование и внедрение определяют итоговые инвестиции в любой IT проект.
В нашей компании также существует задача по учету временных затрат сотрудников и мы решили ее при помощи собственного продукта — K-Point. Не углубляясь в подробности, K-Point – это платформа для автоматизации рабочих процессов организаций, в которой, как в конструкторе, можно собирать и комбинировать различные функции. Один из модулей, который мы настроили для себя и активно используем, позволяет вести учет временных затрат сотрудников.
Но, независимо от того, какая система стоит в компании, всем до боли знакома ситуация, когда менеджерам проектов приходится снова и снова напоминать сотрудникам вносить потраченные на проекты часы, а сотрудники не довольны тем, что собственно задача по заполнению часов отнимает слишком много времени.
До недавних пор наш сценарий состоял из 4 этапов:
- В конце дня сотруднику отправлялось напоминание о необходимости заполнить трудозатраты;
- Сотрудник открывал уведомление в Outlook и переходил по ссылке в K-Point;
- Сотрудник вводил логин и пароль от системы;
- Сотрудник заполнял отработки по каждому проекту за указанный день.
Когда я узнал о возможности разработки нового вида надстроек для Outlook, я понял, что у нас появился шанс значительно упростить весь процесс. Так мы начали разработку надстройки K-Point для Outlook, которая в итоге позволила нам сократить число шагов в нашем сценарии до двух:
- Утром сотрудник получает уведомление из системы K-Point – уведомление теперь рассматривается как своего рода «тикет», т.к. все действия можно выполнить прямо в нем;
- Сотрудник открывает «тикет» в Outlook в любое удобное время в течение дня и заполняет отработки прямо в письме, без необходимости перехода в стороннюю систему и без ввода логина и пароля.
Такой подход позволяет значительно упростить процесс и экономит время как сотрудников, так и менеджеров:
- надстройка позволяет заполнять данные за конкретный рабочий день, а когда все данные внесены, письмо-напоминание можно просто удалить, что означает «тикет» отработан;
- с установленной надстройкой, меняется отношение сотрудников к задаче – уведомление расценивается не как надоедливый спам, который фильтруется в заброшенную папку, а как Call to Action, как задача, которую нужно и можно своевременно выполнить;
- менеджерам проектов не нужно бегать за каждым из сотрудников с постоянными напоминаниями.
Одна из привлекательных особенностей, которую стоит подчеркнуть, говоря о надстройках для Outlook, – это простота реализации. Отличительной особенностью нашей надстройки является то, что она не призвана решать исключительно задачу учета времени. Надстройка является логическим продолжением системы K-Point и может гибко настраиваться под целевые процессы. На первый взгляд – не очень простой функционал. Но давайте посмотрим, каким образом нам удалось этого добиться.
K-Point – это веб решение и в нем уже был реализован движок на JavaScript, позволяющий визуализировать формы. Именно его мы и перенесли в надстройку. Такое «переиспользование» кода позволило значительно сократить трудозатраты на разработку. Нам оставалось лишь реализовать логику авторизации пользователей из Outlook и разработать API для обмена данными между K-Point и надстройкой. Технические детали этой реализации стоит вынести за рамки данной статьи. Если Вам интересно о них узнать – напишите об этом в комментариях к этой статье.
Когда у Вас уже есть готовая надстройка ее можно либо опубликовать в Office Store, либо развернуть в рамках конкретной организации. Второй вариант особенно полезен при создании узконаправленных B2B решений под конкретного заказчика. Для публикации надстройки в Office Store Вам необходимо зарегистрироваться на сайте Microsoft Seller Dashboard. После регистрации Вы получите доступ к личному кабинету, где сможете загрузить манифест Вашего приложения и заполнить всю необходимую информацию о нем.
Внедрение надстройки K-Point для Outlook в наш рабочий процесс позволило нам вдвое сократить временные затраты на сбор отчетности как со стороны всех сотрудников, так и со стороны менеджеров. Это безусловно хороший результат, и в дальнейшем мы планируем его улучшать.
В настоящее время настройка K-Point для Outlook не доступна для публичного доступа и обкатывается в рамках нашей компании. В ближайшем будущем мы планируем опубликовать ее в Office Store и предложить похожие сценарии автоматизации некоторым из наших существующих клиентов. Посмотрим, что из этого выйдет.
В рамках задач нашей компании и задач наших клиентов я вижу еще много сценариев где мы можем применить надстройки для Outlook, некоторые из них были описаны выше. Стоит отдельно обратить внимание на то, что такие приложения являются интересным вариантом для расширения функционала существующих решений, таких как системы электронного документооборота, CRM, ERP и другие виды систем. Уверен, что какие-то идеи по повышению продуктивности появились и у вас – и, значит, цель написания данной статьи достигнута. Пишите свои идеи в комментариях, будем обсуждать и искать решения задач вместе!
Об авторе
Петр Ляпин -Технический директор ООО «ВейвПоинт»
Если вы столкнулись с проблемой и хотите поделиться своим опытом, знаниями или у вас есть интересная статья с иностранного сайта, предложение новой темы, статью которую Вы хотите видеть в ближайшем будущем, расскажите нам об этом и мы обязательно поделимся этими знаниями со всеми. Возможно, для других ваши знания, опыт и советы окажутся очень ценными и помогут вовремя найти правильный выход или не совершить ошибок.
Так же если у вас есть предложение о сотрудничестве, пожелания, указать на нарушения сайта или просто сказать слова благодарности, все это вы можете сделать через форму обратной связи. Читать дальше
Создание надстроек в Microsoft Office
В обозревателе решений выберете ваш проект и сделайте клик правой клавишей мыши по нему. В открывшемся контекстном меню, выберете пункт «Добавить» - «Компонент…».
У вас откроется окно «Добавление нового элемента – OutlookAddIn1». В левой части окна «Установленные шаблоны», выберете раздел «Office». После выбора данного раздела, в центральной части окна вам будет предложено выбрать элемент для добавления, выберете «Лента (визуальный конструктор)». Нажмите на кнопку «Добавить».
После добавления нового элемента Ribbon (Лента (визуальный конструктор)), у вас откроется новая вкладка «Ribbon1.cs [Конструктор]» в режиме конструктора.
По умолчанию, у вас создается вкладка «TabAddIns (Встроенный)» и в ней группа «group1». Сделайте клик правой клавишей мыши по группе «group1» и выберете из появившегося контекстного меню, пункт «Свойства».
Перейдите в «Панель элементов», из предложенного списка «Элементы управления ленты Office» выберете «Button» и добавьте его на группу «group1».
У вас откроются свойства самого элемента управления «Ribbon». Найдите свойство «RibbonType». Данное свойство отвечает за определение типов инспекторов Outlook, к которым применяется лента, т.е. где будет отображаться вкладка с кнопкой. Напротив данного свойства присутствует выпадающий список инспекторов Outlook, выберете только «Microsoft.Outlook.Explorer». Данный тип устанавливает отображение вашей вкладки на ленте основного окна Microsoft Outlook.
Закройте Microsoft Outlook и остановите отладку вашего проекта. Если вы теперь запустите Microsoft Outlook, вы так же увидите вашу вкладку на ленте главной панели. Для удаления надстройки, необходимо удалить сборку надстройки, записи реестра и параметры безопасности. В противном случае, надстройка будет запускаться каждый раз при открытии Microsoft Outlook, на компьютере разработчика. Все это, можно сделать в два клика. Перейдите в Microsoft Visual Studio, «Построение» - «Очистить OutlookAddIn1».
Для установки проекта на другие компьютера, вы можете выполнить создание файла установки (Setup.exe). Сделайте клик правой клавишей мыши по вашему решению в обозревателе решений и выберете из появившегося контекстного меню «Добавить» - «Создать проект…».
У вас откроется новое окно «Добавить новый проект». В левой части окна «Установленные шаблоны», выберете раздел «Другие типы проектов» - «Установка и развёртывание» - «Установщик Visual Studio». После выбора данного раздела, в центральной части окна, вам будет предложено выбрать тип шаблона установки, выберете шаблон «Проект установки».
В обозревателе решений у вас появится новый проект установки. Сделайте клик правой клавишей мыши по новому проекту и выберете из появившегося контекстного меню, пункт «Добавить» - «Выходной элемент проекта…».
У вас откроется новое окно «Добавление выходной группы проекта». По умолчанию, у вас выберется ваш проект надстройки, а так же будет предложен список, какие файлы проекта вы можете добавить в файл установщика. Выберете «Основные выходные файлы».
После нажатия кнопки «ОК», в обозревателе решений, в проекте установки, у вас появится список обнаруженных зависимостей, а так же новое свойство проекта «Основные выходные файлы из OutlookAddIn1 (Активный)».
При построении проекта в папке «Debug» у вас создался установочный файл надстройки с расширением *.vsto и дополнительный файл с расширением *.dll.manifest. Эти два файла также необходимо добавить в проект установки.
Для добавления этих файлов в проект установки, сделайте клик правой клавишей мыши по проекту установки и выберете из появившегося контекстного меню, пункт «Добавить» - «Файл…».
У вас откроется окно «Добавление файлов», перейдите в выходной каталог «Debug», вашего проекта и выберете два файла, с расширением *.vsto и дополнительный файл с расширением *.dll.manifest.
После нажатия на кнопку «Открыть», в обозревателе решений, в проекте установки, вы увидите имена ваших добавленных файлов.
Нажмите на клавиатуре клавишу «F6», для построения всего решения. А так же в обозревателе решений вашего проекта, сделайте клик правой клавишей мыши по проекту установки «SetupOutlookAddIn» и выберете из появившегося контекстного меню пункт «Построение».
Запустите его и следуйте указаниям мастера установки. После успешной установки, перезапустите Microsoft Outlook, если он был запущен или запустите его. На панели вкладок вы увидите вашу надстройку. Так же в «Панель управления» - «Программы и компоненты» (Установка и удаление программ), в списке установленных программ вы найдете вашу надстройку.
Так же можно выполнить установку вашей надстройки и без проекта установщика Visual Studio. Перейдите в каталог «Release» вашего проекта «OutlookAddIn1». Найдите файл с именем «OutlookAddIn1.vsto» и сделайте двойной клик левой клавишей мыши по нему. У вас запустится «Установщик настройки Microsoft Office». Нажмите на кнопку «Установить».
Чтобы скрыть или удалить вашу надстройку, откройте Microsoft Outlook и перейдите в «Файл» - «Параметры».
В открывшемся окне «Параметры Outlook», выберете в левой части окна раздел «Надстройки». После выбора данного раздела, в правой части окна, откроется список установленных надстроек. Найдите и выберете вашу надстройку, в нижней части окна, расположено поле «Управление», с кнопкой «Перейти», нажмите на нее.
У вас откроется окно «Настройки для модели компонентных объектов (COM)». Для отключения (скрытия) вашей надстройки снимите галочку, расположенную перед именем вашей надстройки. Чтобы удалить вашу надстройку из Microsoft Outlook, выберете вашу надстройку и нажмите на кнопку «Удалить».
Microsoft Outlook удалил, только ссылки на вашу надстройку. Для полного удаления, зайдите в «Панель управления» - «Программы и компоненты» (Установка и удаление программ). В списке установленных программ вы найдете вашу надстройку, выберете ее и нажмите на кнопку «Удалить». Только после выполнения этих действий ваша надстройка полностью удалится с компьютера.
Читайте также: