Como utilizar a automatização para enviar uma mensagem do Microsoft Outlook utilizando o Access 2000

Para obter uma versão do Microsoft Access 97 deste artigo, consulte
161088.

Avançado: Requer conhecimentos avançados sobre codificação, interoperabilidade e ambiente multi-utilizador.

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

NESTA TAREFA

Sumário

Este artigo mostra 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 ilustrativo, sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação que está a ser demonstrada e com as ferramentas que são utilizadas para criar e depurar procedimentos. 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 necessidades específicas do utilizador.
Nota: O seguinte código poderá não funcionar correctamente se tiver instalado a actualização de segurança de correio electrónico do Outlook. Para obter informações adicionais sobre esta actualização, consulte um dos seguintes artigos na Microsoft Knowledge Base, dependendo da versão do Outlook tiver:

262631 OL2000: informações sobre a actualização de segurança de correio electrónico do Outlook

262617 OL98: informações sobre a actualização de segurança de correio electrónico do Outlook
Pode utilizar o método EnviarObjecto para enviar uma mensagem de correio MAPI programaticamente no Microsoft Access. No entanto, o método EnviarObjecto não lhe fornece acesso para concluir a funcionalidade de correio, 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 método EnviarObjecto .

Existem seis passos principais para enviar uma mensagem de correio do Microsoft Outlook, utilizando a automatização, do seguinte modo:

  1. Iniciar a sessão do Outlook.

  2. Crie uma nova mensagem.

  3. Adicionar os destinatários (para, CC e BCC) e resolver os respectivos nomes.

  4. Definir propriedades válidas, tais como o assunto, corpo e importância.

  5. Adicione anexos (se existir).

  6. Apresentação/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 documentos C:\My.

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

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

    Option Explicit
  4. No menu Ferramentas , clique em References.

  5. Na caixa de referências , clique para seleccionar o Microsoft Outlook 9.0 Object Librarye, em seguida, clique em OK.

    Nota: Se não for apresentado o Microsoft Outlook 9.0 Object Library na caixa de 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 continuar 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 imediata e, em seguida, prima ENTER:

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

    Para enviar a mensagem sem especificar um anexo, omita o argumento quando chamar o procedimento, do seguinte modo:

    SendMessage




Referências

Para obter mais informações sobre como utilizar a automatização do Microsoft Access, no Editor do Visual Basic, clique em Ajuda do Microsoft Visual Basic, no menu Ajuda, escreva "Automatização" no Assistente do Office ou o Assistente de respostas e, em seguida, clique em Procurar para visualizar o tópico.

209963 ACC2000: como utilizar a automatização para adicionar os compromissos para o Microsoft Outlook

209955 ACC2000: como utilizar a automatização para criar um novo Item de contacto no Microsoft Outlook










Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×