Использование автоматизации для отправки сообщения microsoft Outlook с помощью Access 2000

Эта статья применяется к базе данных Microsoft Access (.mdb) и проекту Microsoft Access (.adp).

Сводка

В этой статье показано, как использовать автоматизацию для создания и отправки сообщения microsoft Outlook Microsoft Access 2000.

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

Примечание

Следующий код может не работать должным образом, если установлено Outlook обновления безопасности электронной почты.

Этот метод можно использовать SendObject для программной отправки почтового сообщения MAPI в Microsoft Access. Однако этот метод SendObject не дает вам доступа к полному функционалу почты, например к возможности прикреплять внешний файл или устанавливать значение сообщения. В примере, который следует, используется автоматизация для создания и отправки почтового сообщения, которое можно использовать для использования многих функций в Microsoft Outlook, недоступных с помощью SendObject метода.

Существует шесть основных действий по отправке Outlook Майкрософт с помощью автоматизации:

  1. Инициализация Outlook сеанса.
  2. Создание нового сообщения.
  3. Добавьте получателей (To, CC и BCC) и устройте их имена.
  4. Установите допустимые свойства, такие как Subject, Body и Importance.
  5. Добавление вложений (если таково).
  6. Отображение и отправка сообщения.

Программная отправка Outlook сообщения Майкрософт

  1. Создание примера текстового файла с именем Customers.txt в папке C:\My Documents.

  2. Запустите Microsoft Access и откройте пример базы данных Northwind.mdb.

  3. Создайте модуль и введите следующую строку в разделе Объявления, если она еще не существует:

    Option Explicit

  4. В меню Tools выберите Ссылки.

  5. В поле Ссылки выберите библиотеку объектов Microsoft Outlook 9.0, а затем выберите ОК.

    Примечание

    Если объектная Outlook Microsoft 9.0 не появится в поле Доступные ссылки, просмотрите жесткий диск для файла Msoutl9.olb. Если вы не можете найти этот файл, необходимо запустить программу установки microsoft Outlook, чтобы установить его, прежде чем приступить к этому примеру.

  6. Введите следующую процедуру в новом модуле:

    Sub SendMessage(Optional AttachmentPath)
        Dim objOutlook As Outlook.Application
        Dim objOutlookMsg As Outlook.MailItem
        Dim objOutlookRecip As Outlook.Recipient
        Dim objOutlookAttach As Outlook.Attachment
    
        ' Create the Outlook session.
        Set objOutlook = CreateObject("Outlook.Application")' Create the message.
        Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
    
        With objOutlookMsg
        ' Add the To recipient(s) to the message.
        Set objOutlookRecip = .Recipients.Add("Nancy Davolio")
        objOutlookRecip.Type = olTo
    
        ' Add the CC recipient(s) to the message.
        Set objOutlookRecip = .Recipients.Add("Andrew Fuller")
        objOutlookRecip.Type = olCC
    
        ' Set the Subject, Body, and Importance of the message.
        .Subject = "This is an Automation test with Microsoft Outlook"
        .Body = "Last test - I promise." & vbCrLf & vbCrLf
        .Importance = olImportanceHigh 'High importance
    
        ' Add attachments to the message.
        If Not IsMissing(AttachmentPath) Then
        Set objOutlookAttach = .Attachments.Add(AttachmentPath)
        End If
    
        ' Resolve each Recipient's name.
        For Each objOutlookRecip In .Recipients
        objOutlookRecip.Resolve
        If Not objOutlookRecip.Resolve Then
        objOutlookMsg.Display
        End If
        Next
        .Send
    
        End With
        Set objOutlookMsg = Nothing
        Set objOutlook = Nothing
    End Sub
    
  7. Чтобы проверить эту процедуру, введите следующую строку в окне Immediate и нажмите кнопку ENTER:

    SendMessage "C:\My Documents\Customers.txt"

    Чтобы отправить сообщение без указания вложения, ограничь аргумент при вызове процедуры следующим образом:

    SendMessage