3 métodos fáciles para enviar correos electrónicos desde Access 2007/2010/2013/2016/2019

RESUMEN: ¿ Curioso por saber cómo enviar correos electrónicos desde la base de datos de Access ? Bueno, muchos usuarios como usted frecuentemente hacen esta pregunta en varios de los sitios del foro. Entonces, hoy he seleccionado este tema específico para responder, ¿cómo puede enviar automáticamente un correo electrónico desde Access? Si también es usted quien está buscando algunos métodos fáciles para enviar correos electrónicos desde la base de datos de MS Access , consulte esta post.

Cómo enviar correos electrónicos automáticamente desde Access 2016

Aunque hay varias formas disponibles para realizar este envío de correo electrónico desde la tarea de la base de datos de Access , pero en esta publicación, voy a discutir brevemente sobre los 3 enfoques más fáciles y populares.

  • Enviar correo electrónico desde Access con Outlook
  • Envío de correo electrónico desde Access mediante el método SendObject o el método EMailDatabaseObject
  • Enviar correo electrónico desde Access mediante macro

¡Entonces comencemos …!

Método 1: enviar correo electrónico desde Access con Outlook

enviar correo electrónico desde Access con Outlook

En esta sección aprenderá cómo enviar automáticamente mensajes de Outlook de MS en la EM Access. NOTE: El código de abajo mencionado no funciona correctamente si no se ha instalado el derecho de correo electrónico de Outlook Actualización de seguridad en función de la versión de Outlook que está Actualmente estado usando. Por lo tanto, obtenga información completa sobre la actualización de seguridad de correo electrónico de Outlook de los siguientes artículos:

262631  OL2000: información sobre la actualización de seguridad de correo electrónico de Outlook

262617  OL98: información sobre la actualización de seguridad de correo electrónico de Outlook

Bueno, puede usar el método SendObject para enviar los correos MAPI mediante programación en su aplicación MS Access. Como, el método SendObject no le dará acceso completo a las funcionalidades de correo. Opción similar para establecer la prioridad del masaje o para adjuntar un archivo externo.

El procedimiento mencionado a continuación utiliza Automatización para crear y enviar mensajes de correo a Access . Puede beneficiarse de tantas funciones en MS Outlook que no obtendrá en el método SendObject .

Principalmente hay seis pasos para enviar correos electrónicos desde Access usando Outlook . Estas son las cosas que ha realizado en su correo de Outlook.

  1. En primer lugar, inicialice la sesión de Outlook.
  2. Haz un nuevo mensaje.
  3. Luego, agregue los destinatarios (CC, BCC y To) y asigne sus nombres.
  4. Establezca todas las propiedades válidas, como Cuerpo, Asunto e Importancia.
  5. Agregue sus archivos adjuntos que desea adjuntar.
  6. Mostrar o enviar el mensaje.
Pasos para enviar correos electrónicos desde Access mediante Outlook mediante programación
  1. En primer lugar, debe crear un archivo de texto con el nombre de txt directamente en su carpeta C: \ Mis documentos.
  2. Ahora inicie su aplicación MS Access y abra su base de datos de muestra, por ejemplo: mdb.

Es hora de crear un módulo en su base de datos de Access. Después, simplemente escriba la línea “Opción explícita” en la sección Declaraciones del módulo solo si no está escrita allí.

  1. Desde el menú Herramientas , toque la opción Referencias .
  2. Ahora, en el cuadro Referencias, toque para elegir la Biblioteca de objetos de Microsoft Outlook 9.0. Luego presione la opción Aceptar . NOTA: en algún momento dentro del ” cuadro de referencias disponibles “, no obtendrá esta opción de “Biblioteca de objetos de Microsoft Outlook 9.0”. Luego, en ese caso, busque en su disco duro el archivo “Msoutl9.olb”, Msoutl9.olb.

Si aún no puede recuperar ese archivo, debe ejecutar el programa de instalación de MS Outlook para instalarlo. Después de eso, solo usted puede continuar con el siguiente procedimiento para enviar correos electrónicos de Outlook desde Access .

  1. En el nuevo módulo, solo tiene que escribir el siguiente procedimiento:

Sub SendMessage (Opcional AttachmentPath)
Dim objOutlook como Outlook.Aplicación
Dim objOutlookMsg como Outlook.MailItem
Dim objOutlookRecip como Outlook.Recipient
Dim objOutlookAttach As Outlook.Attachment

‘Crear la sesión de Outlook.
Establecer objOutlook = CreateObject (“Outlook.Application”)

‘Crea el mensaje.
Establecer objOutlookMsg = objOutlook.CreateItem (olMailItem)

Con objOutlookMsg
‘Agregue los destinatarios Para al mensaje.
Establecer objOutlookRecip = .Recipients.Add (“Nancy Davolio”)
objOutlookRecip.Type = olTo

‘Agregue los destinatarios CC al mensaje.
Establecer objOutlookRecip = .Recipients.Add (“Andrew Fuller”)
objOutlookRecip.Type = olCC

‘Establecer el asunto, el cuerpo y la importancia del mensaje.
.Subject = “Esta es una prueba de automatización con Microsoft Outlook”
.Body = “Última prueba – lo prometo”. & vbCrLf & vbCrLf
.Importance = olImportanceHigh ‘Alta importancia

‘Agregar archivos adjuntos al mensaje.
If Not IsMissing (AttachmentPath) Entonces
establezca objOutlookAttach = .Attachments.Add (AttachmentPath)
End If

‘Resolver el nombre de cada destinatario.
Para cada objOutlookRecip En .Recipients
objOutlookRecip.Resolve
If Not objOutlookRecip.Resolve Then
objOutlookMsg.Display
End If
Next
.Enviar

Terminar con
Set objOutlookMsg = Nothing
Set objOutlook = Nothing
End Sub

  1. Para probar este procedimiento, escriba la siguiente línea en la ventana inmediata. Luego presione el botón enter desde su teclado:

SendMessage “C: \ Mis documentos \ Clientes.txt”

Si desea enviar un correo electrónico desde el acceso sin adjuntar ningún archivo adjunto, elimine la sección de argumentos mientras llama al procedimiento, de esta manera:

Enviar mensaje

ARTÍCULO ÚTIL: ¿Cómo importar correo electrónico de Outlook a la base de datos de Access?

Método 2: enviar correo electrónico desde Access mediante el método SendObject o el método EMailDatabaseObject

enviar correo electrónico desde Access mediante el método SendObject

MS Access le ofrece enviar correos electrónicos utilizando el método DoCmd.SendObject en el código del módulo VBA. Bueno, el método funciona para enviar correos electrónicos simples, ya que tiene algunas limitaciones significativas.

Nota: en la versión anterior de la aplicación de acceso, como el método 2002/2003/2007, SendObject se usaba para enviar correos electrónicos desde el acceso. Mientras que, desde el comienzo de Access 2010, este método SendObject pasó a llamarse EMailDatabaseObject.

El usuario puede usar la acción de macro EMailDatabaseObject en sus respectivas aplicaciones de bases de datos de Access para adjuntar un formulario, informe o módulo de Access en un mensaje de correo electrónico. Desde donde se puede ver fácilmente y luego reenviar.

Objetivo principal para utilizar el método SendObject

  • El comando SendObject le permite enviar un mensaje de correo electrónico junto con la opción de adjuntar informe, datos del módulo, tabla, formulario, consulta, formulario. Bueno, este archivo adjunto puede estar en cualquiera de estos formatos Excel, texto, HTML, PDF, texto enriquecido, XPS, etc.
  • Este comando específico de SendObject utiliza Microsoft Outlook u otra aplicación de correo electrónico que se basa en MAPI (interfaz de programación de aplicaciones de correo) para liberar su correo electrónico. Creará un problema porque la seguridad de Windows interrumpe cada mensaje MAPI y envía un cuadro de confirmación.

Sintaxis del método SendObject

Aquí está la sintaxis para usar el método SendObject:

DoCmd.SendObject ObjectType, ObjectName, OutputFormat, To, Cc, Bcc, Subject, MessageText, EditMessage, TemplateFile 

Sintaxis Macro

Elija SendObject como acción y asigne sus argumentos.

Parámetros

Cada parámetro tiene algún significado y todos los parámetros mencionados anteriormente en la sintaxis son opcionales.

Ejemplo de envío de correo electrónico desde Access mediante el método SendObject

En el siguiente ejemplo, he incluido una tabla de empleados dentro de un correo en formato MS Excel. Después de especificar el mensaje de correo, los puntos necesarios como Para, CC y Asunto. El correo electrónico se enviará inmediatamente, sin realizar ninguna edición.

DoCmd.SendObject acSendTable, “Empleados”, acFormatXLS, _ “Nancy Davolio; Andrew Fuller”, “Joan Weber”,, _ “Hoja de cálculo actual de empleados” ,, False   

Limitaciones del uso del método SendObject

Aunque el comando SendObject es muy útil para enviar mensajes cortos o un objeto. Pero aún así tiene muchas limitaciones importantes, tales como:

  • Los mensajes no deben tener un máximo de 255 caracteres.
  • Los mensajes deben ser un texto normal normal y no puede estar en formato HTML
  • No puedes adjuntar varios archivos.
  • No puede filtrar el informe o la fuente de datos que necesita enviar
  • No hay opción para especificar ninguna dirección DE.
  • El cuadro de diálogo de seguridad MAPI verifica cada mensaje de correo electrónico antes de enviarlo.
  • Excepto Outlook, Outlook Express o Exchange, el método no funcionará para otra aplicación de correo electrónico.
  • No hay opción para especificar configuraciones como prioridad, sensibilidad y confirmación de lectura

Método 3: Enviar correo electrónico desde el Access mediante macro 

Enviar correo electrónico desde el Access mediante macro 

En el tercer y último método, aprenderemos a enviar correo a través de la macro de acceso.

  • Abra su aplicación MS Access.
  • Abra la base de datos que desea usar.
  • Toque la pestaña “Crear” y luego en el grupo “Macro” .

Enviar correo electrónico desde el Access mediante macro  1

  • Ahora verá el catálogo de acciones en la esquina derecha de la ventana de la aplicación de Access.
  • Elija la opción “Enviar objeto” en el cuadro desplegable de “Acción”.

Enviar correo electrónico desde el Access mediante macro  2

  • Debe completar todos los pasos presentes en Action Argument. Para Tipo de objeto, elija “Informe” y para el nombre del objeto (es el nombre del informe que debe enviarse por correo) elija “Problemas abiertos”. Para el formato de salida, elija el “Formato PDF (* .pdf)”.

Ahora debe ingresar las direcciones de correo electrónico del destinatario del informe, el asunto del correo electrónico y el texto del correo electrónico.

Si necesita editar el mensaje de correo electrónico antes de enviarlo, elija la opción “Sí”; de lo contrario, elija la opción “No”. Para adjuntar los archivos HTML, debe asignar la ruta de la plantilla.

  • Toque el icono del disco para guardar la macro.
  • Ahora es el momento de dar nombre a su macro y luego toque la opción “Aceptar” .
  • Para ejecutar la macro, debe presionar el signo de exclamación.
  • Presiona la opción “Permitir” para ordenar el programa para enviar correos electrónicos. El informe se envía a través de Outlook.
  • Para abrir el Panel de navegación, toque las flechas dobles.
  • Para enviar automáticamente un informe de acceso por correo electrónico, haga doble clic en la macro guardada.
  • Compruebe si el correo electrónico ha sido enviado o no abriendo su correo.

Envolver:

Todos los métodos antes mencionados para enviar automáticamente correos electrónicos desde el Access 2016/2013/2010/2007 son demasiado fáciles de realizar. Depende de usted ahora qué método desea probar. Entonces, pruébelos primero y comparta su opinión con nosotros. Buena suerte..!

¿Aún tienes problemas? Arreglarlos con Stellar reparación para Access:

Este software asegura sin costura reparación y recuperación de la base de datos ACCDB y MDB. Es Restaura todos los objetos, incluidas tablas, informes, consultas, registros, formularios e índices, junto con módulos, macros, etc. Solucione los problemas de Microsoft Access ahora en 3 sencillos pasos:

  1. Descargue Stellar Access base de datos reparación herramienta calificado como Excelente en Cnet.
  2. Haga clic en la opción Examinar y Buscar para localizar la base de datos de Access corrupta.
  3. Haga clic en el botón Reparar para reparar y obtener una vista previa de los objetos de la base de datos.

Pearson Willey es escritor de contenido de sitios web y planificador de contenido de formato largo. Además de esto, también es un ávido lector. Por lo tanto, sabe muy bien cómo escribir un contenido atractivo para los lectores. Escribir es como una ventaja creciente para él. Le encanta explorar sus conocimientos on MS Access y compartiendo Tecnología blog.