Como utilizar a Automatização para enviar uma mensagem do Microsoft Outlook com o Access 2000

Este artigo aplica-se a uma base de dados do Microsoft Access (.mdb) e a um projeto do Microsoft Access (.adp).

Resumo

Este artigo mostra-lhe como utilizar a Automatização para criar e enviar uma mensagem do Microsoft Outlook no Microsoft Access 2000.

A Microsoft fornece exemplos de programação apenas a título informativo, sem qualquer garantia expressa ou implícita, incluindo, sem limitações, as garantias implícitas de comercialização e/ou adequação a um fim específico. Este artigo pressupõe que o utilizador está familiarizado com a linguagem de programação demonstrada e as ferramentas utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às suas necessidades específicas.

Nota

O código seguinte poderá não funcionar corretamente se tiver instalado a Atualização de Segurança de Correio Eletrónico do Outlook.

Pode utilizar o SendObject método para enviar uma mensagem de correio MAPI através de programação no Microsoft Access. No entanto, o SendObject método não lhe dá acesso a uma funcionalidade de correio completa, como a capacidade de anexar um ficheiro externo ou definir a importância da mensagem. O exemplo que se segue utiliza a Automatização para criar e enviar uma mensagem de correio que pode utilizar para tirar partido de muitas funcionalidades no Microsoft Outlook que não estão disponíveis com o SendObject método .

Existem seis passos principais para enviar uma mensagem de correio do Microsoft Outlook através da Automatização, da seguinte forma:

  1. Inicialize a sessão do Outlook.
  2. Criar uma nova mensagem.
  3. Adicione os destinatários (Para, CC e BCC) e resolva os respetivos nomes.
  4. Defina propriedades válidas, como Assunto, Corpo e Importância.
  5. Adicione anexos (se existirem).
  6. Apresentar/Enviar a mensagem.

Enviar uma mensagem de correio do Microsoft Outlook através de programação

  1. Crie um ficheiro de texto de exemplo com o nome Customers.txt na pasta C:\Os Meus Documentos.

  2. Inicie o Microsoft Access e abra a base de dados de exemplo Northwind.mdb.

  3. Crie um módulo e escreva a seguinte linha na secção Declarações se ainda não estiver lá:

    Option Explicit

  4. No menu Ferramentas , selecione Referências.

  5. Na caixa Referências , selecione a Biblioteca de Objetos do Microsoft Outlook 9.0 e, em seguida, selecione OK.

    Nota

    Se a Biblioteca de Objetos do Microsoft Outlook 9.0 não aparecer na caixa Referências Disponíveis , procure o ficheiro msoutl9.olb no disco rígido. Se não conseguir localizar este ficheiro, tem de executar o programa de Configuração do Microsoft Outlook para o instalar antes de prosseguir com este exemplo.

  6. Escreva o seguinte procedimento no novo módulo:

    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. Para testar este procedimento, escreva a seguinte linha na janela Imediato e, em seguida, prima ENTER:

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

    Para enviar a mensagem sem especificar um anexo, omita o argumento ao chamar o procedimento da seguinte forma:

    SendMessage