¿Cómo crear una plantilla de correo electrónico en Microsoft Outlook.com 365?
¿Cómo crear una plantilla de correo electrónico en Microsoft Outlook.com 365?
Actualizado: agosto de 2021; Aplicable a Microsoft Outlook 365 / 2019 / 2016
Aquí hay una nota que recibimos de un lector.
Gracias por su muy útil ayuda de codificación de Outlook. Me pregunto si puede compartir algún código para ayudar a automatizar el envío de un correo electrónico en Outlook. Sé que hay varias formas de enviar mensajes recurrentes, pero estoy específicamente interesado en usar VBA para esta tarea.
Gracias por la pregunta. El envío automático de correos electrónicos parece estar entre las tareas más útiles y populares que puede automatizar con VBA. Siga leyendo para obtener más detalles y un script simple para comenzar aquí.
Escribir VBA para enviar correos electrónicos de Outlook
En el ejemplo bastante simple a continuación, cubriremos los siguientes pasos:
Aquí está el código VBA simple para crear y enviar correos electrónicos simples automáticamente. Tenga en cuenta que debe mejorar fácilmente este script para incluir archivos adjuntos, tareas, etc., pero comencemos con un script muy básico.
Sub SendMail()
Dim MyEmail As MailItem
Set MyEmail = Application.CreateItem(olMailItem)
With MyEmail
.To = ""
.Importance = olImportanceHigh
.Subject = ""
.Body = ""
.BodyFormat = olFormatHTML
.Display
End With
'I purposely commented the next line, uncomment it by removing the "'" sign to send your email.
' MyEmail.Send
End Sub
Atajo de macro de Outlook VBA
Es posible que desee asociar el código VBA que acaba de escribir con un botón de comando en Outlook. Esto le permitirá iniciarlo fácilmente desde un acceso directo ubicado en la cinta de opciones de Outlook.
Así es como se hace:
Posibles problemas con la configuración de macros de VBA
Es posible que deba ajustar la configuración de macros de Outlook para poder ejecutar macros. Si es así, así es como se hace.
En PowerShell, puede utilizar el cmdlet Send-MailMessage para enviar correos electrónicos. Sin embargo, requiere que se autentique en el servidor de correo y no admite métodos de autenticación modernos, como OAuth y Autenticación moderna de Microsoft. Por lo tanto, es mucho más fácil enviar un correo electrónico si tiene un perfil de Outlook configurado en su computadora.
A continuación se muestra un ejemplo de un script de PowerShell que lee datos de un archivo Excel y utiliza un perfil de Outlook para enviar un correo electrónico a cada usuario:
# abrir el archivo Excel
$ExcelObj = Nuevo-Objeto -comobject Excel.Application
$ExcelWorkBook = $ExcelObj.Workbooks.Open("C:\PS\user_list.xlsx")
$ExcelWorkSheet = $ExcelWorkBook.Sheets.Item("Hoja1")
# Obtener el número de filas completadas en un archivo xlsx
$rowcount=$ExcelWorkSheet.UsedRange.Rows.Count
# Recorra todas las filas de la columna 1, comenzando desde la segunda fila (estas celdas contienen los nombres de usuario y los correos electrónicos).
para($i=2;$i -le $rowcount;$i++){
$useremail = $ExcelWorkSheet.Columns.Item(1).Rows.Item($i).Text
$FullUsername = $ExcelWorkSheet.Columns.Item(2).Rows.Item($i).Text
$Estado = $ExcelWorkSheet.Columns.Item(4).Rows.Item($i).Text
$pwdchange = $ExcelWorkSheet.Columns.Item(3).Rows.Item($i).Text
# Generar texto del cuerpo del mensaje
$cadenaSubj = " El estado de su cuenta en el dominio woshub.com "
$strBody = "Estimado " + $Nombre de usuario completo
$strCuerpo = $strCuerpo + " `r`n Su cuenta en el dominio woshub.com está en " + $Estado
$strBody = $strBody + "`r`n La fecha y hora del último cambio de contraseña es: " + $pwdchange
$strfile="C:\ps\" + $useremail + ".txt"
# Suponemos que Outlook se está ejecutando, si no es así, deberá iniciarlo con el comando $outlook = new-object -comobject outlook.application
$outlook = [Runtime.InteropServices.Marshal]::GetActiveObject("Outlook.Application")
$correo electrónico = $outlook.CreateItem(0)
$email.To = $useremail
$email.Subject = $strSubj
$email.Body = $strBody
# Adjunte un archivo (si es necesario)
$correo electrónico.Attachments.add($strfile)
#enviar el mensaje de correo electrónico
$correo electrónico.Enviar()
}
$ExcelWorkBook.close($true)
Este script de PowerShell supone que Outlook se está ejecutando en su computadora. El script genera el asunto y el cuerpo del correo electrónico para cada dirección SMTP del destinatario en el archivo XLSX y adjunta el archivo. Luego envía el correo electrónico.
¿Cómo crear una plantilla de correo electrónico en Microsoft Outlook.com 365?
En esta publicación, aprenderá cómo modificar el color y el tamaño de las listas con viñetas / puntos en Excel, PowerPoint y Word 365 / 2016 / 2019.
¿Su buzón está repleto de entradas de correo electrónico duplicadas? Aprenda cómo dejar de recibir y eliminar mensajes redundantes en los buzones de correo de Outlook 365/2019/2016 tanto en MAC como en Windows.
Aprenda a agregar/incrustar y enviar una imagen gif a su correo electrónico saliente de Outlook 2016 y 2019.
¿La bandeja de entrada de Outlook no se actualiza automáticamente? Aprenda cómo puede actualizar automáticamente su bandeja de entrada de Outlook 365/2019/2016/2013 automáticamente.
Aprenda a deshabilitar los recordatorios y notificaciones de los calendarios de Outlook 2016/2019, tanto en Windows como en MAC.
Aprenda a escribir macros de Outlook para automatizar el envío de correo electrónico.
Aprenda a diagnosticar y solucionar diferentes problemas de desconexión del cliente de Microsoft Outlook en Windows 10.
Aprenda cómo puede diseñar y crear formularios de usuario personalizados de Outlook.
Obtenga información sobre cómo mejorar el rendimiento de Outlook.