Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Программирование в Microsoft Office для пользователей
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

13. Программирование в Outlook

13.1 Зачем программировать в Outlook

Создание приложений VBA в Outlook, типичные ситуации, примеры приложений

Outlook (вместе с его урезанной версией, которая называется Outlook Express) — самая распространенная программа для работы с электронной почтой. Однако важность его заключается не только в возможности отправки и получения электронных сообщений. На предприятиях очень большую ценность представляют его дополнительные возможности, которые помогают делать то, что Microsoft называет задачами персонального информационного менеджера (Personal Information Manager, PIM).

Первая такая задача — это работа с календарем, то есть организация времени пользователя. Календарь тесно интегрирован с другими элементами Outlook (например, Контактами и Задачами), а также с внешними приложениями (например, Microsoft Project). На предприятиях часто используется назначение задач пользователям, когда такие задачи автоматически появляются как элементы Календаря. Если пользователь самостоятельно заносит свои задачи в Outlook, то можно (если почтовый ящик пользователя лежит на сервере Exchange Server) предоставить доступ к календарю этого пользователя его менеджерам. Менеджеры смогут видеть, какие задания есть в настоящий момент у этого пользователя, что позволит избежать ситуаций, когда задание выдается сотруднику, уже занятому важной работой.

У Календаря есть еще одна замечательная возможность: если вы создадите из Outlook на сервере Exchange общую папку с элементами типа Календарь, в вашем распоряжении будет готовое приложение для планирования совместного доступа к ресурсам (комнатам для переговоров, проекторам, разному оборудованию и т.п.). Например, предположим, что в вашей организации принято правило: все личное общение с клиентами должны производиться только в комнате для переговоров, а количество этих комнат ограничено. Вполне может получиться ситуация, когда клиент придет, а все комнаты будут заняты. Чтобы этого не произошло, используется общая папка с элементами управления типа Календарь. В процессе общения с клиентом пользователь открывает из Outlook такую общую папку и смотрит, в какое время комната свободна. Согласовав с клиентом время визита, он создает в этой общей папки элемент типа Встреча — и уже другие сотрудники смогут понять, что в это время комната для переговоров занята.

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

Вторая задача — это работа с контактами. Контакты Outlook — это, видимо, наиболее распространенный и стандартный формат адресной книги. В последнее время особенно важным стало то, что контакты из адресной книги Outlook можно очень легко и просто синхронизировать с сотовыми телефонами, наладонными компьютерами и прочими аналогичными устройствами. На предприятиях часто используется, например, общий список контактов для подразделения в виде элементов Контакт, которые хранятся в общей папке Exchange Server (адресная/телефонная книга самой организации обычно ведется в формате адресной книги Exchange Server и также доступна через Outlook). Ситуаций, когда вам нужно программным образом создавать контакты (например, на основе информации из базы данных), или синхронизировать их, или пройти циклом по всем контактами и изменить их в зависимости от какого-то условия — очень много.

Третья задача — это работа с задачами и поручениями. Для масштабных проектов, конечно, лучше использовать специализированное программное обеспечение (например, Microsoft Project и Project Server), но для простых проектов, за которые ответственен один менеджер, задачи Outlook вполне подойдут. При помощи этого средства можно создавать задачи, назначать их другим лицам (поручения) с уведомлением их по электронной почте, отслеживать процент выполнения и т.п.

Четвертая задача — работа с дневником. При помощи этого средства вы можете отслеживать работу с документами Office, обмен информацией при помощи Outlook и т.п. Дневник позволяет создать отчет о проделанной работе или вспомнить, в каком файле находится нужный документ за прошлый квартал — чтобы по образцу его сделать новый документ.

Есть еще работа с заметками — компьютерными аналогами маленьких липких листочков с напоминаниями, которыми некоторые любители обклеивают все вокруг себя.

Конечно же, вышеперечисленными встроенными возможностями работа с Outlook не ограничивается. На связке Outlook — Exchange Server основана целая область программирования, которая называется collaboration development — разработка приложений коллективного использования. Основные задачи, которые решаются при помощи приложений коллективного использования — сбор и автоматизированная обработка внутрикорпоративной информации. Например, представим себе следующую задачу из реальной жизни: каждый банк в конце каждого месяца должен представить в Центральный банк информацию об экономических нормативах. Чаще всего это выглядит так: сотрудник планово-экономического отдела, ответственный за сбор информации, в начале каждого месяца идет в бухгалтерию, чтобы получить информацию об остатках на требуемых счетах на конец месяца. Затем он отправляется в кредитный отдел, чтобы получить информацию о том, какие кредиты относятся к какой категории. После этого он руками формирует файл отчета требуемого формата. При использовании средств Outlook это могло бы выглядеть по другому:

  • В начале месяца у сотрудника планово-экономического отдела в папке Входящие в Outlook автоматически появляется специальная форма для заполнения информация о нормативах;

Он нажимает на кнопку Отправить в бухгалтерию на этой форме, и форма отправляется ответственному сотруднику бухгалтерии (а может быть, автоматически получает информацию об остатках на счетах из программы "Операционный день" — если разработчик сможет это реализовать);

Сотрудник бухгалтерии, заполнив нужные поля, нажимает на кнопку Дальше и форма с сохраненными данными идет в кредитный отдел;

Сотрудник кредитного отдела заполняет свои поля (поля, заполненные в бухгалтерии, при этом автоматически доступны только на чтение) и нажимает на кнопку Дальше.

Форма со всеми необходимыми данными приходит к сотруднику планово-экономического отдела, тот нажимает на ней на кнопку Сформировать отчет — и формируется файл отчета в нужном формате, а форма с сохраненными значениями автоматически помещается в архив.

На любом предприятии задач по сбору внутрикорпоративной информации очень много. Можно привести в пример и отчеты о командировках, и сбор информации из филиалов, и формы, заполняемые продавцами (в офисе и в командировках), и информацию инвентаризаций — этот перечень можно продолжать бесконечно. И, как показывает практика, самый удобный способ — это именно применение средств Outlook/Exchange Server. Большим плюсом здесь является то, что никаких внешних средств разработки использовать не нужно: Outlook — это еще и среда разработки. Например, чаще всего в подобных приложениях используются формы Outlook — специальные шаблоны сообщений с элементами управления и программными возможностями, например, маршрутами прохождения (эти формы ни имеют никакого отношения к обычным формам V BA или формам Access). Создать такую форму и придать ей необходимый программный код можно средствами самого Outlook: для этого достаточно в меню Сервис -> Формы воспользоваться пунктом Конструктор форм, выбрать нужную форму (например, Сообщение в Библиотеке стандартных форм) и нажать на кнопку Открыть. Откроется окно дизайнера форм (см. рис. 13.1), в котором вы сможете изменять шаблон стандартного сообщения, как вам угодно: помещать новые элементы управления, привязывать к ним программный код (при помощи меню Форма -> Просмотреть код) и т.п.

Рис. 13.1 Окно конструктора форм Outlook

Например, добавить код для нашей кнопки CommandButton1, которую мы поместили на форму, можно так:

  • В меню Сервис выбираем Просмотреть код (вместо этого можно воспользоваться кнопкой Просмотреть код на панели инструментов);

В окне редактора сценариев пишем следующий код:

Function CommandButton1_Click()

MsgBox "Привет из формы Outlook"

End Function

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

Чтобы запустить нашу кнопку на выполнение, воспользуйтесь командой Выполнить форму в меню Форма, а затем нажмите на нашу кнопку.

Как вы уже, наверное, догадались, это — не совсем привычный нам VBA (скажем больше, это — вообще другой язык программирования VBScript). Для форм Outlook предусмотрена своя собственная среда программирования, своя объектная и событийная модели. Как правило, работа с формами Outlook неотделима от работы с корпоративными возможностями Exchange Server: библиотеками форм, серверными скриптами, общими папками, маршрутизацией и т.п. Все это — очень большая специальная тема, которая потребует для рассмотрения отдельной толстой книги. По этой причине работу с формами Outlook и приложениями коллективного использования мы рассматривать не будем. Скажем только, что хорошей отправной точкой для самостоятельного освоения этой темы может послужить файл официальной документации Microsoft, который по умолчанию находится в каталоге Office по пути C:\Program Files\Microsoft Office\OFFICE11\1049\OLFM10.CHM и сайт www.slipstick.com. В этой книге мы сосредоточимся на работе с Outlook традиционными средствами VBA — при помощи стандартных модулей и форм VBA, в привычном редакторе кода. Задач автоматизации, которые решаются средствами VBA, также очень много:

  • организация рассылки электронной почты по расписанию;
  • получение электронной почты и ее автоматизированная обработка (например, если сообщение пришло в стандартном формате, можно извлечь из него данные и поместить в базу данных), к примеру, сбор данных из филиалов;
  • автоматизация работы с контактами — например, импорт контактов из базы данных или файла Excel в общую папку на сервере Exchange;
  • автоматическое создание или изменений записей в календаре;
  • и многое-многое другое.

Работать с этими возможностями Outlook нам и предстоит научиться.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru