Автоматизация Outlook с помощью Visual Basic

Переводы статьи Переводы статьи
Код статьи: 220595 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В данной статье рассказывается, как программным путем управлять Microsoft Outlook с помощью средств автоматизации Visual Basic. Приведенные примеры показывают, как можно создавать контакты и встречи, а также отсылать сообщения с помощью объектной модели Microsoft Outlook.

Дополнительная информация

Для написания и запуска образца программы следуйте приведенным ниже инструкциям. Чтобы запустить образец, необходима ссылка ранней привязки на библиотеку типов Microsoft Outlook. В приведенной ниже таблице перечислены имена файлов с библиотеками типов для различных версий Microsoft Outlook:
Свернуть эту таблицуРазвернуть эту таблицу
Версия OutlookНазвание библиотеки типов в списке ссылокимя_файла
Outlook 97«Объектная библиотека Microsoft Outlook 8.0»msoutl8.olb
msoutl8.olb«Объектная библиотека Microsoft Outlook 98»msoutl85.olb
Outlook 2000«Объектная библиотека Microsoft Outlook 9.0»msoutl9.olb
Outlook 2002«Объектная библиотека Microsoft Outlook 10.0»msoutl.olb
Office Outlook 2003«Объектная библиотека Microsoft Outlook 11.0»msoutl.olb

Создание приложения

  1. Запустите Visual Basic и создайте новый проект Standard EXE.
  2. В меню Проект выберите Ссылки, затем – Microsoft Outlook.
  3. Добавьте в форму кнопку.
  4. Дважды щелкните кнопку и введите следующий код:
     ' Запустить Outlook.
     ' Если он уже запущен, выходить не следует.
       Dim olApp As Outlook.Application
       Set olApp = CreateObject("Outlook.Application")
        
     ' Вход. Если вы уже вошли и программа запущена, можно ничего не делать.
       Dim olNs As Outlook.NameSpace
       Set olNs = olApp.GetNamespace("MAPI")
       olNs.Logon
    
     ' Создать и открыть новый контакт.
       Dim olItem As Outlook.ContactItem
       Set olItem = olApp.CreateItem(olContactItem)
    
     ' Информация о контакте...
       With olItem
          .FullName = "Василий Иванов"
          .Birthday = "9/15/1975"
          .CompanyName = "Майкрософт"
          .HomeTelephoneNumber = "704-555-8888"
          .Email1Address = "someone@microsoft.com"
          .JobTitle = "Программист"
          .HomeAddress = "111 Main St." & vbCr & "Charlotte, NC 28226"
       End With
       
     ' Сохранить контакт...
       olItem.Save
        
     ' Создать новую встречу.
       Dim olAppt As Outlook.AppointmentItem
       Set olAppt = olApp.CreateItem(olAppointmentItem)
        
     ' Напомнить о встрече через 2 минуты...
       olAppt.Start = Now() + (2# / 24# / 60#)
        
     ' Другая информация о встрече...
       With olAppt
          .Duration = 60
          .Subject = "Обсуждение планов на будущее..."
          .Body = "Встреча с " & olItem.FullName & " с целью обсуждения планов." 
          .Location = "Дома"
          .ReminderMinutesBeforeStart = 1
          .ReminderSet = True
       End With
        
     ' Сохранить встречу...
       olAppt.Save
        
     ' Отослать новому контакту сообщение.
       Dim olMail As Outlook.MailItem
       Set olMail = olApp.CreateItem(olMailItem)
     ' Создать и отправить сообщение...
       olMail.To = olItem.Email1Address
       olMail.Subject = "Наша встреча..."
       olMail.Body = _
            "Уважаемый " & olItem.FirstName & ", " & vbCr & vbCr & vbTab & _
            "Встретимся через 2 минуты!" & vbCr & vbCr & _
            "Кстати: Я внес Вас в свой список контактов."
       olMail.Send
        
     ' Удалить все ненужное...
       MsgBox "Все готово...", vbMsgBoxSetForeground
       olNS.Logoff
       Set olNs = Nothing
       Set olMail = Nothing
       Set olAppt = Nothing
       Set olItem = Nothing
       Set olApp = Nothing
    						
  5. Запустите проект и нажмите на кнопку, чтобы выполнить код.
После запуска кода должен быть создан новый контакт по имени "Василий Иванов", запись о встрече через 2 минуты с напоминанием через минуту. Кроме того, по адресу someone@microsoft.com будет отправлено электронное сообщение. Поскольку вы внесли день рождения своего контакта, в календарь Outlook добавлено повторяющееся событие с напоминанием об этом дне.

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

Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
290500 Информация для разработчиков о настройках безопасности электронной почты в Outlook 2002 (эта ссылка может указывать на содержимое полностью или частично на английском языке)

Ссылки

Дополнительные сведения о средствах программирования в Outlook содержатся в следующих статьях базы знаний Майкрософт:
166368 Использование настраиваемых форм и средств программирования в Outlook 97 (эта ссылка может указывать на содержимое полностью или частично на английском языке)
180826 Использование настраиваемых форм и средств программирования в Outlook 98 (эта ссылка может указывать на содержимое полностью или частично на английском языке)
271225 Использование настраиваемых форм и средств программирования в Outlook 2000 (эта ссылка может указывать на содержимое полностью или частично на английском языке)
287531 Список ресурсов для использования настраиваемых форм и средств программирования в Outlook 2002 (эта ссылка может указывать на содержимое полностью или частично на английском языке)
313802 Получение информации о контактах с помощью объектной модели Outlook в Visual Basic .NET (эта ссылка может указывать на содержимое полностью или частично на английском языке)
313788 Создание встречи с помощью объектной модели Outlook в Visual Basic .NET (эта ссылка может указывать на содержимое полностью или частично на английском языке)

Свойства

Код статьи: 220595 - Последний отзыв: 14 февраля 2006 г. - Revision: 9.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Office Outlook 2003
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Outlook 2000 Standard Edition
  • Microsoft Outlook 97 Standard Edition
  • Microsoft Outlook 98 Standard Edition
Ключевые слова: 
kbhowto kboutlookobj kbautomation KB220595

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com