Cómo utilizar automatización para enviar un mensaje de Microsoft Outlook con Access 2000


Para una versión de Microsoft Access 97 de este artículo, consulte
161088 .
Avanzado: Requiere conocimientos avanzados de codificación, interoperabilidad y multiusuario.

En este artículo se aplica a una base de datos de Microsoft Access (.mdb) y a un proyecto de Microsoft Access (.adp).

EN ESTA TAREA

Resumen


En este artículo se muestra cómo utilizar automatización para crear y enviar un mensaje de Microsoft Outlook en Microsoft Access 2000.


Microsoft proporciona ejemplos de programación únicamente con fines ilustrativos, sin ninguna garantía expresa o implícita. Esto incluye, pero no se limita, a las garantías implícitas de comerciabilidad o idoneidad para un propósito particular. Este artículo asume que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos.
Nota: El código siguiente no funcionen correctamente si ha instalado la actualización de seguridad de correo electrónico de Outlook. Para obtener información adicional acerca de esta actualización, consulte alguno de los siguientes artículos en Microsoft Knowledge Base, dependiendo de la versión de Outlook tiene:
262631 OL2000: información acerca de la actualización de seguridad de correo electrónico de Outlook
262617 OL98: información acerca de la actualización de seguridad de correo electrónico de Outlook
Puede utilizar el método SendObject para enviar un mensaje de correo MAPI mediante programación en Microsoft Access. Sin embargo, el método SendObject no le otorga acceso a toda la funcionalidad de correo, como la capacidad para adjuntar un archivo externo o establecer la importancia de un mensaje. El ejemplo siguiente utiliza la automatización para crear y enviar un mensaje de correo que puede utilizar para sacar provecho de muchas características de Microsoft Outlook que no están disponibles con el método SendObject .

Hay seis pasos principales para enviar un mensaje de correo de Microsoft Outlook mediante automatización, como sigue:

  1. Inicializar la sesión de Outlook.
  2. Crear un nuevo mensaje.
  3. Agregar a los destinatarios (para, CC y CCO) y resolver los nombres.
  4. Establecer las propiedades válidas, tales como el asunto, el cuerpo y la importancia.
  5. Agregar datos adjuntos (si existe).
  6. Visualización o envíe el mensaje.

Enviar un mensaje de correo de Microsoft Outlook mediante programación

  1. Crear un archivo de texto de ejemplo denominado Customers.txt en la carpeta C:\My Documents.
  2. Inicie Microsoft Access y abra la base de datos de ejemplo Neptuno.mdb.
  3. Cree un módulo y escriba la línea siguiente en la sección Declaraciones si no está ya allí:
    Option Explicit
  4. En el menú Herramientas , haga clic en referencias.
  5. En el cuadro referencias , haga clic para seleccionar la Biblioteca de objetos de Microsoft Outlook 9.0y, a continuación, haga clic en Aceptar.

    Nota: si la biblioteca de objetos de Microsoft Outlook 9.0 no aparece en el cuadro Referencias disponibles , busque el disco duro el archivo Msoutl9.olb. Si no encuentra este archivo, debe ejecutar el programa de instalación de Microsoft Outlook para instalarlo antes de continuar con este ejemplo.
  6. En el nuevo módulo, escriba el siguiente procedimiento:
    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 probar este procedimiento, escriba la línea siguiente en la ventana Inmediato y presione ENTRAR:
    SendMessage "C:\My Documents\Customers.txt"
    Para enviar el mensaje sin especificar un archivo adjunto, omitir el argumento cuando se llama al procedimiento, como sigue:
    SendMessage



Referencias


Para obtener más información acerca de cómo utilizar automatización en Microsoft Access, en el Editor de Visual Basic, haga clic en Ayuda de Microsoft Visual Basic en el menú Ayuda, escriba "Automatización" en el Ayudante de Office o el Asistente para Ayuda y, a continuación, haga clic en Buscar para ver el tema.
209963 ACC2000: cómo utilizar automatización para agregar citas a Microsoft Outlook
209955 ACC2000: cómo utilizar automatización para crear un nuevo elemento de contacto en Microsoft Outlook