Anuncio

A enviar correos electrónicos 5 formas de escribir correos electrónicos profesionales que ahorran tiempo y esfuerzoEs una habilidad saber cómo escribir correos electrónicos profesionales que ahorren tiempo y obtengan respuestas. Deje que estas plantillas de correos electrónicos lo ayuden. Lee mas de Microsoft Excel solo requiere unos pocos scripts simples. Agregue esta funcionalidad a sus hojas de cálculo y realmente puede mejorar cuánto puede lograr en Excel.

Hemos cubierto muchas macros excelentes de Excel, que pueden lograr lo mismo que los scripts de VBA, pero sin la necesidad de conocimientos de programación. Pero hay muchas cosas avanzadas que solo puede hacer con VBA, como crear un informe de hoja de cálculo con toda la información de su PC.

¿Prefieres ver este tutorial como un video? ¡Te tenemos cubierto!

¿Por qué enviar correo electrónico desde Excel?

Hay muchas razones por las que es posible que desee enviar un correo electrónico desde Microsoft Excel.

Tal vez tenga personal que actualice documentos u hojas de cálculo semanalmente, y le gustaría recibir una notificación por correo electrónico sobre cuándo se realizan esas actualizaciones. O bien, puede tener una hoja de cálculo de contactos y desea enviar un correo electrónico a todos a la vez.

Probablemente esté pensando que crear un script para una transmisión de correo electrónico desde Excel será complicado. Ese no es el caso en absoluto.

La técnica de este artículo utilizará una función que ha estado disponible en Excel VBA durante mucho tiempo, Objetos de datos de colaboración (CDO)

objetos de datos de colaboración (CDO) en excel

CDO es un componente de mensajería utilizado en Windows desde las primeras generaciones del sistema operativo. Solía ​​llamarse CDONTS, y luego con el advenimiento de Windows 2000 y XP, fue reemplazado por "CDO para Windows 2000". Este componente ya está incluido en su instalación de VBA dentro de Microsoft Word o Excel y está listo para usar.

El uso del componente hace que enviar correos electrónicos desde productos de Windows con VBA sea extremadamente fácil. En este ejemplo, usará el componente CDO en Excel para enviar un correo electrónico que entregará los resultados de una celda específica de Excel.

Paso 1: crear una macro VBA

El primer paso es vaya a la pestaña Desarrollador Excel.

Dentro de la pestaña Desarrollador, haga clic en Insertar en el cuadro Controles y luego seleccione un botón de comando.

agregar botón en excel

Dibújalo en la hoja y luego crea una nueva macro haciendo clic en Macros en la cinta de desarrollador.

agregar macro para el botón de comando

Cuando haces clic en el Crear botón, se abrirá el editor de VBA.

Agregue la referencia a la biblioteca CDO navegando a Herramientas > Referencias en el editor

agregando referencias en excel

Desplácese hacia abajo en la lista hasta que encuentre Microsoft CDO para la biblioteca de Windows 2000. Marque la casilla de verificación y haga clic Okay.

agregar cdo para referencia de windows

Cuando haces clic Okay, tome nota del nombre de la función donde está pegando el script. Lo necesitarás más tarde.

Paso 2: Configure los campos CDO "Desde" y "Hasta"

Para hacer esto, primero debe crear los objetos de correo y configurar todos los campos necesarios para enviar el correo electrónico.

Tenga en cuenta que si bien muchos de los campos son opcionales, el Desde y A los campos son obligatorios.

Dim CDO_Mail como objeto. Dim CDO_Config como objeto. Dim SMTP_Config como variante. Dim strSubject As String. Dim strFrom As String. Dim strTo As String. Dim strCc As String. Dim strBcc como cadena. Dim strBody As String strSubject = "Resultados de la hoja de cálculo de Excel" strFrom = "[email protected]" strTo = "[email protected]" strCc = "" strBcc = "" strBody = "Los resultados totales para este trimestre son:" & Str (Sheet1.Cells (2, 1))

Lo bueno de esto es que puede crear cualquier cadena que desee para personalizar un mensaje de correo electrónico completo y asignarlo al strBody variable.

Reúna los componentes del mensaje utilizando el & cadena para insertar datos de cualquiera de las hojas de Microsoft Excel directamente en el mensaje de correo electrónico, tal como se muestra arriba.

Paso 3: Configurar CDO para usar un SMTP externo

La siguiente sección de código es donde configurará CDO para usar cualquier servidor SMTP externo para enviar el correo electrónico.

Este ejemplo es una configuración no SSL a través de Gmail. CDO es capaz de SSL, pero eso está fuera del alcance de este artículo. Si necesita usar SSL, esto código avanzado en Github poder ayudar.

Establecer CDO_Mail = CreateObject ("CDO.Message") En Error GoTo Error_Handling Establezca CDO_Config = CreateObject ("CDO.Configuration") CDO_Config. Cargar -1 Establecer SMTP_Config = CDO_Config. Campos con SMTP_Config .Item (" http://schemas.microsoft.com/cdo/configuration/sendusing") = 2. Artículo (" http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com". Artículo (" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1. Artículo (" http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]". Artículo (" http://schemas.microsoft.com/cdo/configuration/sendpassword") = "contraseña". Artículo (" http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25. Artículo (" http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Verdadero .Actualizar. Finalice con CDO_Mail Set .Configuration = CDO_Config. Terminar con

Paso 4: Finalice la configuración de CDO

Ahora que ha configurado la conexión al servidor SMTP para enviar el correo electrónico, todo lo que tiene que hacer es completar los campos correspondientes para Objeto CDO_Maily emitir el Enviar mando.

Así es como lo haces:

CDO_Mail. Asunto = strSubject. CDO_Mail. De = strFrom. CDO_Mail. To = strTo. CDO_Mail. TextBody = strBody. CDO_Mail. CC = strCc. CDO_Mail. BCC = strBcc. CDO_Mail. Enviar Error_Handling: Si Err. Descripción <> "" Entonces MsgBox Err. Descripción

No habrá cuadros emergentes ni mensajes de alerta de seguridad, lo que puede ocurrir cuando recurres al uso del objeto de correo de Outlook.

CDO simplemente reúne el correo electrónico y utiliza los detalles de conexión del servidor SMTP para disparar el mensaje. Es la forma más fácil de incorporar el correo electrónico en los scripts de Microsoft Word o Excel VBA.

Para conectar su botón de comando a este script, vaya al editor de código y haga clic en Hoja1 para ver el código VBA para esa hoja de trabajo.

Escriba el nombre de la función donde pegó el script anterior.

conectar el botón de comando al script

Así es como se veía el mensaje que recibí en mi bandeja de entrada:

correo electrónico de Excel recibido

Nota: Si recibe un error que dice El transporte no pudo conectarse al servidor, asegúrese de haber ingresado el nombre de usuario, la contraseña, el servidor SMTP y el número de puerto correctos en las líneas de código que figuran debajo Con SMTP_Config.

Llevarlo más lejos y automatizar todo el proceso

Está muy bien poder enviar correos electrónicos desde Excel con solo tocar un botón. Sin embargo, es posible que desee utilizar esta funcionalidad de forma regular, en cuyo caso tendría sentido automatizar el proceso 5 recursos para macros de Excel para automatizar sus hojas de cálculo¿Buscando macros de Excel? Aquí hay cinco sitios que tienen lo que estás buscando. Lee mas .

Para hacerlo, deberá realizar un cambio en la macro. Dirígete al Editor de Visual Basic y copia y pega la totalidad del código que reunimos.

A continuación, seleccione Este libro de trabajo desde el Proyecto jerarquía.

De los dos campos desplegables en la parte superior de la ventana de código, seleccione Libro de trabajo y seleccione Abierto del menú desplegable Métodos.

Pegue la secuencia de comandos de correo electrónico anterior en Private Sub Workbook_Open ().

Esto ejecutará la macro cada vez que abra el archivo de Excel.

Pegue la secuencia de comandos de correo electrónico

Luego, abre Programador de tareas.

Utilizará esta herramienta para pedirle a Windows que abra la hoja de cálculo automáticamente a intervalos regulares, momento en el cual se iniciará su macro y enviará el correo electrónico.

crear tarea básica en el planificador de tareas

Seleccione Crear tarea básica ... desde el Acción menú y avance a través del asistente hasta llegar al Acción pantalla.

Seleccione Comience un programa y haga clic próximo.

seleccione programador de tareas del programa

Utilizar el Vistazo para encontrar la ubicación de Microsoft Excel en su computadora, o copie y pegue la ruta en el Programa / guión campo.

Luego, ingrese la ruta a su documento de Microsoft Excel en el Agregar argumentos campo.

Complete el asistente y su programación estará en su lugar.

Vale la pena hacer una prueba por programar la acción Cómo vaciar automáticamente la papelera de reciclaje en un horario y liberar espacio desperdiciadoSi no vacía regularmente la Papelera de reciclaje, podría estar desperdiciando gigabytes de espacio en su unidad de datos. Pero ahora Windows 10 puede vaciarlo automáticamente en un horario. Lee mas durante un par de minutos en el futuro, luego modifique la tarea una vez que pueda confirmar que está funcionando.

Nota: Quizás tenga que ajustar la configuración del Centro de confianza para asegurarse de que la macro se ejecute correctamente.

Para hacerlo, abra la hoja de cálculo y navegue hasta Archivo > Opciones > Centro de confianza.

Desde aquí, haz clic Configuración del centro de confianza, y en la siguiente pantalla configure el dial de radio en Nunca mostrar información sobre contenido bloqueado.

Haga que Microsoft Excel trabaje para usted

Microsoft Excel es una herramienta increíblemente poderosa, pero aprender cómo aprovecharlo al máximo puede ser un poco intimidante. Si realmente quieres dominar el software, deberás ser cómodo con VBA, y esa no es una tarea pequeña.

Sin embargo, los resultados hablan por sí mismos. Con un poco de experiencia en VBA en su haber, pronto podrá hacer que Microsoft Excel realice tareas básicas automáticamente, dándole más tiempo para concentrarse en asuntos más urgentes.

Se necesita tiempo para desarrollar experiencia con VBA, pero pronto verá los frutos de su trabajo si puede mantenerlo.

Un gran lugar para comenzar es nuestra autoridad tutorial sobre el uso de VBA en Excel Un tutorial para principiantes sobre cómo escribir macros de VBA en Excel (y por qué debería aprender)Si usa Excel regularmente, vale la pena aprender a crear macros VBA y obtener acceso a muchas más funciones y capacidades. Lee mas . Una vez que haya terminado con eso, este simple script para enviar correos electrónicos desde Excel se sentirá como un juego de niños.

Ryan tiene una licenciatura en ingeniería eléctrica. Ha trabajado 13 años en ingeniería de automatización, 5 años en TI y ahora es ingeniero de aplicaciones. Ex editor jefe de MakeUseOf, ha hablado en conferencias nacionales sobre visualización de datos y ha aparecido en la televisión y radio nacionales.