¿Alguna vez ha tenido la necesidad de enviar un correo electrónico desde Excel VBA a varios ID de correo electrónico, proporcionados en una hoja de Excel? ¿Quiere aprender a enviar correos electrónicos desde Excel sin abrir Outlook? Este artículo cubre cómo puede automatizar Outlook y enviar varios correos electrónicos con archivos adjuntos desde Excel con un solo clic, manteniendo a las personas en Cc y Bcc también.
Al final, también puede descargar el archivo para enviar hombres instantáneamente a cientos de identificadores. El archivo contiene una macro para enviar correos electrónicos desde Excel.
¿Cómo enviar correo desde Excel?
Para enviar correo desde Excel, debe comprender estos fragmentos de VBA.
Importante: Debe tener un correo electrónico configurado en la aplicación Outlook.
Presione F11 para abrir VB Editor.
- Agregue una referencia a la biblioteca de objetos de Outlook:
-
-
- Vaya a Herramientas en el menú y haga clic en Referencias.
-
-
- Busque la biblioteca de objetos de Microsoft 16.0. La versión puede ser diferente. Es 16.0 en Excel 2016. Márcalo. Y haga clic en Aceptar.
-
- Cree referencias de la aplicación y el correo de Outlook: Ahora, para poder acceder a las funciones de Microsoft Outlook, necesitamos crear su objeto.
Atenuar outApp como Outlook.Application 'Esto creará una referencia al objeto de Outlook. Dim outApp As Outlook.MailItem 'Esto creará una referencia a MailItem.
-
- Inicialice las referencias: Las referencias anteriores deben inicializarse:
Establecer outApp = Nuevo Outlook.Application Establecer outMail = outApp.CreateItem (0)
-
- Envío de correo utilizando el objeto outMail: las líneas siguientes definirán la identificación del correo de destino, cc, bcc, asunto, cuerpo, archivo adjunto y comando de envío.
With outMail .To = "abcd.mail.com" 'Obligatorio. Aquí se define la identificación del correo de destino… cc = "cc.mail.com" 'opcional. ID de correo CC si lo desea … BCC = "bcc.mail.com" 'opcional. ID de correo CCO si lo desea … Asunto = subj 'debería tener. El masaje en el cuerpo del correo… Body = msg 'opcional. El masaje en el cuerpo del correo … Archivos adjuntos. Agregue "C: /exceltip.com \ test.xlsx" 'opcional. Nombre completo del archivo adjunto … Envíe 'Obligatorio si desea enviar correo desde Excel. Si desea ver el correo en Outlook, utilice el método .Display. Terminar con
Eso es todo. Es todo lo que necesita para enviar correo desde Excel usando VBA.
Ahora veamos un ejemplo que envía correo a cada ID de correo electrónico en una columna de Excel por separado.
Guión:
Imagínese, se le proporciona una hoja de Excel que contiene 100 ID de correo electrónico, y debe enviar un correo electrónico a cada ID de correo electrónico por separado. No solo esto, también debe adjuntar elementos. Esto le llevaría horas si lo hace manualmente. Así que automaticemos esta tarea de envío de correos en Excel VBA.
Aquí tengo estos datos. En la columna C, titulada "Enviar correo a", hay varios identificadores de correo electrónico. Necesito enviar un correo electrónico a cada ID de correo electrónico en esta columna.
Para ello, he creado columnas para Asunto, Masaje corporal, CC y BCC.
El "Enviar correo a" no debe tener ninguna celda en blanco entre ellos. Todas las demás columnas pueden tener celdas en blanco. Si quieres
múltiples ID de correo electrónico en para luego escriba esos ID de correo electrónico con comas en esta columna. Asegúrese de que los ID de correo electrónico sean válidos.
Si desea enviar archivos adjuntos. Escriba las direcciones de esos archivos en la columna de archivos adjuntos.
Escriba el tema en la columna Asunto.
Masaje en columna Masaje Corporal.
Si desea mantener a alguien en cc, escriba su identificación de correo electrónico en la columna CC. Lo mismo para BCC. use coma para múltiples ID de correo electrónico.
Ahora, para enviar correos electrónicos a cada ID de correo electrónico en la columna, siga estos pasos.
- Presione Alt + F11 para abrir VBA Editor en Excel.
- Agregue una referencia al objeto de Outlook siguiendo los pasos indicados anteriormente.
- En un nuevo módulo, copie el siguiente código.
'*** Debe tener un correo electrónico de Outlook configurado en la aplicación de Outlook en su sistema ***' *** agregar una referencia a la biblioteca de objetos outook de las referencias en las herramientas *** Sub BulkMail () Application.ScreenUpdating = False ThisWorkbook.Activate ' Creación de referencias a la aplicación y objetos de MailItem de Outlook Atenuar outApp como Outlook.Application Atenuar outMail como Outlook.MailItem 'Crear variable para contener valores de diferentes elementos de correo Dim sendTo, subj, atchmnt, msg, ccTo, bccTo As String Dim lstRow As Long 'Mis datos están en la hoja "Exceltip.com", puede tener cualquier nombre de hoja. ThisWorkbook.Sheets ("Exceltip.com"). Activar 'Obtener la última fila del ID de correo electrónico que contiene en la columna 3. lstRow = Cells (Rows.Count, 3) .End (xlUp) .Row' Variable para contener todos los ID de correo electrónico Dim rng As Range Establezca rng = Range ("C2: C" & lstRow) 'inicializando el objeto de Outlook para acceder a sus características Establezca outApp = New Outlook.Application On Error GoTo cleanup' para manejar cualquier error durante la creación del objeto. 'Haga un bucle para iterar a través de cada fila, mantenga los datos del correo electrónico en variables y envíe' correo a cada ID de correo electrónico. Para cada celda In rng sendTo = Range (cell.Address) .Offset (0, 0) .Value2 subj = Range (cell.Address) .Offset (0, 1) .Value2 & "-MS" msg = Range (cell. Dirección) .Offset (0, 2) .Value2 atchmnt = Range (cell.Address) .Offset (0, -1) .Value2 ccTo = Range (cell.Address) .Offset (0, 3) .Value2 bccTo = Range ( cell.Address) .Offset (0, 4) .Value2 On Error Resume Next 'para entregar cualquier error durante la creación del siguiente objeto Set outMail = outApp.CreateItem (0)' Escribir y enviar correo en un nuevo correo sin outMail .To = sendTo .cc = ccTo .BCC = bccTo .Body = msg .Subject = subj .Attachments.Add atchmnt .Send 'this send mail sin ninguna notificación. Si desea ver el correo 'antes de enviarlo, use el método .Display. End With On Error GoTo 0 'Para limpiar cualquier error capturado anteriormente Set outMail = Nothing' anulando el objeto de correo de salida para el siguiente correo Siguiente celda 'ciclo finaliza la limpieza:' liberando todos los objetos creados Set outApp = Nothing Application.ScreenUpdating = True Application.ScreenUpdating = True End Sub
El código anterior enviará correos electrónicos a cada ID de correo electrónico en una fila de la columna "enviar correo a". Ahora, para ejecutar este código, puede ejecutarlo directamente desde aquí. O puede agregar una figura o un botón en su libro de trabajo y luego asignar esta macro a ese objeto. Utilizo formas porque son personalizables. Para hacerlo siga los pasos a continuación.
-
- Vaya a la pestaña Insertar.
- En el grupo Ilustración, puede encontrar formas, haga clic en su forma favorita.
-
- Arrástrelo y suéltelo en su hoja.
- Embellece si quieres.
- Haz clic derecho sobre él. Haga clic en Asignar macro.
-
- Elija la macro BulkMail de la lista.
- Salga del modo de edición.
Ahora, cada vez que haga clic en este objeto, su macro se ejecutará y enviará correos electrónicos. Verifique los correos enviados para asegurarse.
Puede descargar el archivo de remitente de correo de Excel aquí.
Divida la hoja de Excel en varios archivos según la columna mediante VBA | Para dividir una hoja de trabajo en varios archivos, según los valores de una columna, deberá filtrarla, copiarla y pegarla en un nuevo archivo.
Cómo filtrar los datos en Excel usando VBA | Filtrar datos usando VBA es fácil. Estas simples líneas de códigos filtran los datos según los criterios dados.
Desactivar los mensajes de advertencia mediante VBA en Microsoft Excel 2016 | Al realizar varias tareas, como abrir y cerrar archivos, Excel muestra mensajes de advertencia para que no pierda datos. Interrumpen el código en ejecución. Para evitarlos
Cómo recorrer las hojas en Excel usando VBA | Para avanzar y retroceder en dos o más hojas, debemos recorrerlas. Para recorrer varias hojas, usamos …
7 ejemplos de bucles For en Microsoft Excel VBA | El bucle for es la técnica de bucle más utilizada en cualquier idioma. Excel VBA no es una excepción.
Articulos populares:
50 accesos directos de Excel para aumentar su productividad | Acelera tu tarea. Estos 50 accesos directos le permitirán trabajar aún más rápido en Excel.
Cómo utilizar la función BUSCARV en Excel | Esta es una de las funciones más utilizadas y populares de Excel que se utiliza para buscar valores de diferentes rangos y hojas.
Cómo utilizar la función CONTAR.SI en Excel | Cuente valores con condiciones usando esta asombrosa función. No necesita filtrar sus datos para contar un valor específico. La función Countif es esencial para preparar su tablero.
Cómo utilizar la función SUMIF en Excel | Esta es otra función esencial del tablero. Esto le ayuda a resumir valores en condiciones específicas.