Ejercicios con Office 2007 - Envío de Postales por E-Mail

(Manual de utilización de Office 2007 - Ejercicios)

Anterior  -  Página (Ejercicio 6º)  -  Siguiente

Página principal de los Ejercicios   -   ** Página de Entrada a la Web **

(Descarga este Manual en PDF)  (Descarga: Documento en Excel 97/2003 y 2007)

Recordar que en los primeros Ejerccios explique como crear la Posta de Navidad y el Sobre de envío.
Ejercicio Off2007 - 01 Crea tu Postal de Navidad

Enviar Felicitación Navideña por Email con Office 2007

 

Hola Amigos, hoy vamos a ver un ejercicio de Excel que nos permitirá hacer un Envío de correo electrónico, para enviar nuestra felicitación de Navidad a las personas que queramos. 

En el Proceso crearemos un Archivo de Excel al que llamaremos Correo.xls.

Dentro de este archivo crearemos una lista con los correos de nuestros contactos, escribiremos el Asunto, El Mensaje y el Archivo con la imagen de la Postal que vamos a enviar en estas Navidades.

Una Vez tengamos estos datos introducidos, añadiremos un poco de programación en VBA, para que el programa de correo “OUTLOOK”, envié a cada uno de los contactos que hemos puesto en esta Lista,

 un correo con la Postal de Navidad.

Os pongo una imagen de cómo quedara la Hoja de Excel

Imagen del Archivo Terminado 

Para que todo funcione bien necesitaremos unas pequeñas condiciones
  

1ª – La programación funciona con Outlook, necesitas tenerlo en el PC.

2ª – Outlook tiene que ser el correo predeterminado en el momento del envió.

3ª – Los Correos a quien enviemos la postal, tienes que tenerlos como contactos en Outlook.

4ª – Antes de Ejecutar el Código, tienes que abrir el Outlook, para evitar cualquier error.

 

Nota: Los Nombres de las columnas los utilizaremos en la programación, no los cambies.

La programación utilizada procede de http://www.ayudaexcel.com  del usuario Osquro.

Muchas Gracias por este gran código.
 

Bueno, pasemos a crear el Archivo.

Abrimos Excel en un Libro Nuevo y lo guardaremos con el Nombre de “Correo”

Utilizaremos la Fila 3, para los encabezados de las Columnas.

Nombres de las Columnas:

Celda (A3)               PARA

Celda (B3)               ASUNTO

Celda (C3)               CUERPO

Celda (D3)               ADJUNTO

Celda (E3)               PIE

En la Columna A (“PARA”) iremos escribiendo los correos electrónicos de los contactos a quien vamos a enviar el correo con la Postal de Navidad.

En la Columna B (“ASUNTO”) escribiremos el Asunto del Correo que enviamos. Ejemplo: Feliz Navidad.

En la Columna C (“CUERPO”) escribiremos el Mensaje que queremos enviar. Ejemplo: Feliz Navidad Hermano…

En la Columna D (“ADJUNTO”) escribiremos la dirección del archivo de la Postal Ejemplo: C:\Postal.jpg

En la Columna E (“PIE”) escribiremos nuestros datos Ejemplo: Un Saludo Fjweb.

Nota de vez en cuando pulsaremos en Guardar por si pasa algo, no perder el trabajo hecho. 

Piensa que cada Email, lo puedes enviar personalizado si en Asunto y Cuerpo escribes cosas diferentes para cada usuario que tienes en la Lista.

Pongamos un Ejemplo:

Diferentes Mensajes para cada usuario 

Como veis en la Imagen podemos variar el correo que enviamos a cada uno de los contactos.

Una vez que tengamos todos los datos introducimos pasaremos a escribir la programación necesaria para que todo funcione y crearemos el Botón “Enviar Postales” que ejecutara el código VBA.

Antes de esto configuraremos un poco los Colores de las celdas para indicar el encabezado, etc., según gustos

.

Una pequeña aclaración antes de seguir, cuando esté listo y ejecutemos el código, el Outlook enviara uno tras otro todos los correos que tenemos en la columna A. Pero claro, si son mucha cantidad y el proceso es seguido, los servidores de correo pueden creer que lo que enviamos es Spam y ponerlo en correo no deseado.

Para evitar esto, es mejor enviar listas de 10 o 15 contactos cada vez y con un asunto diferente, para que los servidores de correo no lo detecten como Spam.
 

Puedes ir creando las listas en diferentes Hojas Ejemplo - hoja1 10 contactos, hoja2 10 contactos, etc.

Después copia el botón en todas las hojas y guarda el Excel.

Para enviar los correos entra en cada hoja y pulsa en el botón Enviar Postales, te enviara la lista de esa hoja.

Es solo una sugerencia para evitar pequeños problemillas que se puedan crear.

 La intención de este Manual no es el Spam, sino enseñar como se hacen cosas con Office. 

Ahora Vamos a colocar el Código VBA, para que funcione el envió de correos.

Opciones para Office 2007:

Para poder acceder a los Módulos y Macros es importante activar la Ficha Programador (Menú Programador)

 Para Activar la ficha Programador, sigue los pasos de la Ayuda de Office.

Datos de la Ayuda de Office buscando Programador nos aparece...

Mostrar la ficha Programador o ejecutar en modo para programadores

Debe mostrar la ficha Programador o ejecutar en modo para programadores cuando vaya a escribir macros, ejecutar macros que haya grabado previamente, o crear aplicaciones para utilizar con programas de Microsoft Office.

Haga lo siguiente en estos programas de Microsoft Office:

Word, Excel o PowerPoint

1.     - Haga clic en el botón de Microsoft OfficeImagen del botón y, a continuación en Opciones de Nombre de programa, donde Nombre de programa es el nombre del programa que está utilizando, por ejemplo, Opciones de Word.

2. -    Haga clic en Más frecuentes y, a continuación, active la casilla de verificación Mostrar ficha Programador en la cinta de opciones.
 

Una vez Activado este Menú nos aparecerá en la barra de Menús /Programador.

Barra Programador

 

Veamos las opciones más Básicas de los botones de la Barra Programador

Visual Basic – Abre el Editor de Código VBA

Macros – Opciones de Creación y Ejecución de Macros.

Grabar Macro – Nos Graba acciones que vamos relazando y lo guarda en código VBA.

 ** Una forma muy interesante de aprender cómo se hacen cosas con código.Insertar Controles

** Grabas una macro y después entras en el Editor VBA (Visual Basic) 

** y miras lo que el programa ha escrito.

Insertar – Nos servirá para añadir controles en nuestra hoja Ejemplo un Botón.

Propiedades – Datos de los Controles que utilicemos. Ejemplo Nombre, opciones, etc.

Ver código – Veríamos el código escrito para ese control.

Hay más pero estos son los que más utilizaremos.

Seguramente a muchos os sonara a chino, pero si quieres aprender o ya sabes, es muy interesante aprender un poco de programación para hacer funcionar algunas cosas que de otra forma no lo conseguiríamos.

Esto que os voy explicando lo veremos según lo utilicemos en este Excel, que estamos creando.
  

Procederemos a abrir el Editor de VBA


Pulsaremos sobre el Botón Visual Basic

Insertar Modulo

Se Abrirá la Ventana del Editor de Visual Basic (VBA)

 

Pulsaremos en Insertar / Módulo 

Modulo1 – Aquí copiaremos el código necesario para que funcione nuestro Excel 

Modulo Insertado

 

Un poco de información,

Un modulo es un libro donde escribimos información que el programa entiende y nos permite utilizarlo, ya sea a través de Macros o controles, que nosotros preparemos en el Archivo Excel.

El código se escribe dentro de unas subrutinas a las que luego llamaremos desde la Macro o el Control.

Una vez que introducimos Código (Macros), en el archivo y lo guardemos, al abrirlo de nuevo nos pedirá que demos permiso para ejecutar el código, debemos permitirlo para que funcione.

 

 

Código Necesario - Si no sabes es un poco complicado - (Este Código lo tendremos que copiar en el modulo1)
------------------------------------------------------------

Option Explicit 

Sub PRINCIPAL()

    Dim U1 As Long, i As Long

    Dim Asunto As String, Para As String, Cuerpo As String, Adjunto As String, Pie As String

    Call BUSCAULTIMAFILA(1, U1)

    If U1 < 65500 Then

        For i = 4 To U1

            Asunto = ThisWorkbook.Sheets(1).Cells(i, 2)

            Para = ThisWorkbook.Sheets(1).Cells(i, 1)

            Cuerpo = ThisWorkbook.Sheets(1).Cells(i, 3)

            Adjunto = ThisWorkbook.Sheets(1).Cells(i, 4)

            Pie = ThisWorkbook.Sheets(1).Cells(i, 5)

            Call ENVIACORREO(Asunto, Para, Adjunto, Cuerpo, Pie)

    Next

    Else

        MsgBox "No existe información para enviar..."

    End If

        MsgBox “Los Correos se han enviado correctamente.”

End Sub

Sub ENVIACORREO(Asunto As String, Para As String, Adjunto As String, Cuerpo As String, Pie As String)

    Dim OBJETOLOOK As Object

    Dim OBJETOCORREO As Object

    Set OBJETOLOOK = CreateObject("Outlook.Application")

    Set OBJETOCORREO = OBJETOLOOK.CreateItem(0)

    With OBJETOCORREO

        .To = Para

        .Subject = Asunto

        .Body = Cuerpo & Chr(13) & Chr(13) & Chr(13) & Pie

        If Adjunto <> "" Then

           .Attachments.Add Adjunto, 1, , "Attachment"   ' insert attachment 'olByValue=1

        End If

        '.CC = CONCOPIAA

        .Send

    End With

    Set OBJETOCORREO = Nothing

    Set OBJETOLOOK = Nothing

End Sub

Sub BUSCAULTIMAFILA(HH As Integer, ByRef U As Long)

    U = ThisWorkbook.Sheets(HH).Range("A3").End(xlDown).Row

End Sub

----------------------------------------------------------------------

Nota: Copia el Código que hay entre las Rayas y pégalo en el Modulo1, guarda el Modulo1.

La programación utilizada procede de http://www.ayudaexcel.com  del usuario Osquro.

 

Al Guardar el Modulo nos dirá que solo puede guardar un Modulo en un Libro habilitado para Macros. 

Opciones de Guardar

Pulsa en No, se abrirá la ventana para guardar el Documento.

Selecciona en Tipo de Archivo – Libro de Excel Habilitado para Macros

Tipo de Archivo

Volvamos a Nuestro Excel

Volvemos a Excel

Si no hemos introducido los datos, introdúcelos en la forma que ves en la imagen.

Para la prueba pon la dirección de 5 amigos y les envías algo, una foto, un PPS, no se….

Lo importante es que probemos que todo queda bien antes de enviar la Postal. Así estaremos seguros del envío.

Bueno cuando tengamos todos los datos pulsaremos en Guardar el Excel, por si acaso.
 

El Paso que nos queda es crear un Botón para ejecutar el código que nos enviara los correos.

Crear Boton

Pulsa en Insertar /botón/ arrastra el cursor en la hoja para crear el botón.
 

Al mismo tiempo que soltemos el ratón se creara el botón y nos abrirá la ventana “Asignar Macro” 

Creación del botón

En la Ventana “Asignar Macro”, seleccionaremos PRINCIPAL que es la Macro del código que hemos copiado en el modulo1, y que será la que ejecute el envió de los correos.

Ahora cambiaremos el nombre a nuestro botón.

Renombrar botón

Si lo tienes seleccionado, escribe directamente en el nombre del botón.

Si no es así, pulsa botón derecho encima del botón / pulsa en Modificar Texto /

Ahora escribe un Nombre adecuado para el Botón ejemplo “Enviar  Postales”

Así quedara más o menos nuestro botón.

Asi queda el botón

Solo nos queda Guardar los cambios y Cerrar el Excel, para que todo quede bien guardado.

Volvemos a Abrir el Excel para la Prueba.

Al Abrir nos dirá que este documento contiene Macros, tenemos que dar permiso para que funcione.

Habilitar Macros
 

Una vez que le hemos dado el permiso y se abra el Excel pulsaremos en el botón “Enviar Postales”

Recuerda abrir antes el Outlook.

Siempre es mejor probar 4 o 5 correos y que te contesten si todo ha ido bien, para que cuando enviemos la Postal no nos de ningún tipo de problemas.

Espero que os Guste y os ayude a aprender Office.

Nota: En este manual hemos utilizado partes mas complicadas de Office, si os interesa y teneis alguna duda, escribirme, si puedo os ayudare en  vuestra labor.

Sigue este Manual de Office 2007.

Manuales Off2007 Ejercicio 5 - Manuales Off2007 - Ejercicio 07

** Página de Entrada a la Web **

Un Saludo, Fjweb