martes, 6 de septiembre de 2016

Adjuntar archivo desde Excel VBA y guardarlo en borrador de Outlook

En este ejercicio vamos a realizar un codigo en Excel VBA que nos permitirá enviar al borrador de Microsoft Outlook un archivo de excel adjunto, para posteriormente si lo deseamos podamos enviarlo a nuestros destinatarios


Deben tener abierto el Outlook con una sesion iniciada de su correo electronico.
Posteriormente vamos incluir esta información en una hoja de excel


Es necesario que guarden este archivo en cualquier ruta de su PC, ya que la macro necesita que este guardado para adjuntarlo a Outlook

Ahora tenemos que ingresar al entorno de programación de VBA presionando la combinación de teclas ALT + F11, insertar un modulo y pegar el siguiente código.

Sub EnviarMensajeAdjunto()
Dim OutApp As Object
Dim OutMail As Object
'Se crea la conexión con el gestor de correo
Set OutApp = CreateObject("Outlook.Application")
OutApp.session.logon
'Se crea metodo de envio de correo
Set OutMail = OutApp.createitem(0)
'Se definen el destinatario
On Error Resume Next
With OutMail
    .to = Range("B4").Value 'Destinatario
    .cc = Range("B5").Value 'Con copia a
    .bcc = Range("B6").Value 'Con Copia oculta
    .Subject = Range("B7").Value 'Asunto
    .body = Range("B8").Value 'Cuerpo del mensaje
    .attachments.Add ThisWorkbook.FullName ' Archivo adjunto
    .Close olSave 'Se cierra el correo y se guarda en borrador
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub

Luego ejecutamos la macro y posteriormente podemos ver en el borrador de  Outlook el mensaje con el archivo adjunto cargado.


Puedes descargar el archivo finalizado en el siguiente enlace



2 comentarios:

  1. Hola. Buenos días. Estoy creando un pequeño programa para una biblioteca rural de mi país Venezuela. Aquí trabajan unas señoras bibliotecólogas de la manera rudimentaria. Pero no he podido concretar lo que les prometí por no tener experiencia como programador. De verdad necesito de su ayuda. El programa lo estoy realizando en VB para excel. El nombre de usuario es paez y la clave es paez45. Al entrar en la primera ventana arriba a la derecha hay un icono que al pulsarlo abre la interfax de programador.
    1.- Quiero en una misma ventana registrar, modificar y eliminar datos.
    2.- En un Userform tengo varios textbox para ingresar los datos, y el ID, la fecha y la hora actual lo carga automáticamente al iniciar el UserForm. También tengo un Listbox que carga los datos desde la hoja de excel al iniciar el UserForm. De igual forma tengo un control de imagen para tomar la foto del libro que se esta ingresando. Pues bien pero tengo los siguientes problemas:
    3.- Al cargar los datos a la hoja de Excel me esta colocando unos ceros al inicio de los registros.
    4.- Cuando ingreso los datos me da un error que tiene que ver con el listbox, pero no veo cual es.
    5.- Al darle doble click en alguna línea del listbox debe cargar los datos de esa línea y distribuirlos en los textbox y control de imagen para que coloque la imagen de la portada del libro que estoy buscando, ya sea para corregir o eliminar algún dato. El hecho es que la fecha y la hora los coloca como decimales y no carga la imagen de cese libro.
    6.- También no tengo un código para modificar datos y tampoco uno para eliminar.
    7.- Por favor necesito que me ayuden a corregir este desastre.enviame su correo para enviarle el libro.
    Mil Gracias...
    Andrés Álvarez
    Correo: beraca445@gmail.com

    ResponderEliminar
    Respuestas
    1. Hola todo eso es posible realizarlo, por aqui enviame tu correo.

      Eliminar

Cargar multiples archivos txt en SSIS

 Fuentes Archivos planos Descargar AQUÍ los archivos Consulta SQL de creacion de tabla Despacho en SQL Server CREATE TABLE [dbo].[Despacho]...