Cargando

Macro o VBA para automatizar mail de respuesta con un adjunto y texto predefinido




Solución elegida por el autor
Iniciado por Javier Soria , 26 junio 2013 - 10:27
Por qué no pruebas con esta macro para Outlook:
  • Abre Outlook
  • Pulsa ALT+F11 y se abrirá el Editor de Visual Basic
  • Si no entra en Microsoft Office Outlook Objects y expande Módulos.
  • Crea un nuevo módulo pulsando botón derecho en Modulos y selecciona insertar / Módulo
  • Copia el código de abajo en la ventana editor de Outlook VB.
  • Puede ser que necesites modificar algo.
  • Cuando acabes lo salvas y cierra el editor.
Sub ReplyWithAttachment()
    Const REPLY_TEXT = "El texto para tu respuesta de mensaje."
    Const ATTACH_PATH = "C:\adjuntos\adjunto.pdf"
    Dim olkMsg As Outlook.MailItem, olkRpl As Outlook.MailItem
    Set olkMsg = Application.ActiveExplorer.Selection(1)
    Set olkRpl = olkMsg.Reply
    With olkRpl
        Select Case olkRpl.BodyFormat
            Case olFormatHTML
                olkRpl.HTMLBody = REPLY_TEXT & olkRpl.HTMLBody
            Case Else
                olkRpl.Body = REPLY_TEXT & olkRpl.Body
        End Select
        olkRpl.Attachments.Add ATTACH_PATH
        olkRpl.Send
    End With
    Set olkMsg = Nothing
    Set olkRpl = Nothing
End Sub



Espero que te sirva.

saludos.

11 Respuestas de expertos
Pulsa corazón para recibir avisos de nuevas Respuestas

  AUTOR PREGUNTA

Publicado 25 junio 2013 - 11:02
Buenas, necesito automatizar la respuesta de mail para que automáticamente tenga como adjunto un archivo personalizado y poder poner un texto automático de respuesta. ¿Es posible automatizar este proceso de alguna manera? ya sea con macro o VBA etc...
  • 1 personas más tuvieron esta duda Yo también
  • Volver arriba

 

Publicado 26 junio 2013 - 10:27
Por qué no pruebas con esta macro para Outlook:
  • Abre Outlook
  • Pulsa ALT+F11 y se abrirá el Editor de Visual Basic
  • Si no entra en Microsoft Office Outlook Objects y expande Módulos.
  • Crea un nuevo módulo pulsando botón derecho en Modulos y selecciona insertar / Módulo
  • Copia el código de abajo en la ventana editor de Outlook VB.
  • Puede ser que necesites modificar algo.
  • Cuando acabes lo salvas y cierra el editor.
Sub ReplyWithAttachment()
    Const REPLY_TEXT = "El texto para tu respuesta de mensaje."
    Const ATTACH_PATH = "C:\adjuntos\adjunto.pdf"
    Dim olkMsg As Outlook.MailItem, olkRpl As Outlook.MailItem
    Set olkMsg = Application.ActiveExplorer.Selection(1)
    Set olkRpl = olkMsg.Reply
    With olkRpl
        Select Case olkRpl.BodyFormat
            Case olFormatHTML
                olkRpl.HTMLBody = REPLY_TEXT & olkRpl.HTMLBody
            Case Else
                olkRpl.Body = REPLY_TEXT & olkRpl.Body
        End Select
        olkRpl.Attachments.Add ATTACH_PATH
        olkRpl.Send
    End With
    Set olkMsg = Nothing
    Set olkRpl = Nothing
End Sub



Espero que te sirva.

saludos.

 

Publicado 26 junio 2013 - 16:47
Joer esto me lo apunto, gran aporte.

   AUTOR PREGUNTA

Publicado 26 junio 2013 - 16:48
No te doy más puntos porque no puedo. Mil gracias amigo!

 

Publicado 29 julio 2015 - 19:08

tengo una pregunta o mejorr dicho necesito me confirmen:

 

si configuro mi correo con este macro, al recibir un correo con un asunto X, mi correo le respondera de manera automatica con el archivo que le indique que anexara?



 

Publicado 30 julio 2015 - 19:25

Si, no deberias tener problema. Lo que si tienes que tener cuidado es de que uses la ruta correcta en la siguiente línea con el archivo que se encuentre en tu máquina y de no moverlo:

Const ATTACH_PATH = "C:\adjuntos\adjunto.pdf"


 

Publicado 27 febrero 2017 - 11:48

Muchísimas gracias por esta solución, tengo dos pregutnas:

 

¿Existe forma de poder ejecutarlo con una combinación de teclas que en Outlook no lo encuentro para las macros? Con eso ya sería perfecto. He seguido lo de aquí pero en la versión 2010 que uso no funciona, no salen las opciones

Por favor Identificate o Registrate para poder ver este contenido

. He leído que ya no se puede y que hay quien usa otros programas.

 

¿Se puede hacer que se quede abierto el mensaje pero no se envié hasta que pulse el botón enviar para en algunos casos hacer algún ajuste en el texto del mensaje? He probado a comentar la línea pero no se queda abierto el mensaje:

 

'olkRpl.Send

 

Gracias

 

P.D. Autocontexto a la segunda pregunta, encontré una macro que lo hace, en lugar del .send basta con añadir:

 

olkRpl.Display

 

Ahora podríamos dar enviar desde el cuadro del mensaje



 

Publicado 25 marzo 2018 - 01:53

para que se vea el correo en vez de enviarse hay que cambiar

.send

por

.display



 

Publicado 28 marzo 2018 - 21:39

Buen dia

 

Estaba leyendo y me pareció interesante la macro, tengo en la cabeza una idea. no soy muy experto en macros y no la puedo llegar a concretar...

 

lo que quisiera es una macro que reenvie el correo a todos los que estén en el copiados y salvando los documentos adjuntos del mismo sin embargo el texto agregar tendría que estar condicionado a unos combobox, para despues ser enviado..

 

Lo quiero usar como un servicedesk.

 

Saludos.



 

Publicado 04 febrero 2021 - 10:48

Por qué no pruebas con esta macro para Outlook:

  • Abre Outlook
  • Pulsa ALT+F11 y se abrirá el Editor de Visual Basic
  • Si no entra en Microsoft Office Outlook Objects y expande Módulos.
  • Crea un nuevo módulo pulsando botón derecho en Modulos y selecciona insertar / Módulo
  • Copia el código de abajo en la ventana editor de Outlook VB.
  • Puede ser que necesites modificar algo.
  • Cuando acabes lo salvas y cierra el editor.
Sub ReplyWithAttachment()
    Const REPLY_TEXT = "El texto para tu respuesta de mensaje."
    Const ATTACH_PATH = "C:\adjuntos\adjunto.pdf"
    Dim olkMsg As Outlook.MailItem, olkRpl As Outlook.MailItem
    Set olkMsg = Application.ActiveExplorer.Selection(1)
    Set olkRpl = olkMsg.Reply
    With olkRpl
        Select Case olkRpl.BodyFormat
            Case olFormatHTML
                olkRpl.HTMLBody = REPLY_TEXT & olkRpl.HTMLBody
            Case Else
                olkRpl.Body = REPLY_TEXT & olkRpl.Body
        End Select
        olkRpl.Attachments.Add ATTACH_PATH
        olkRpl.Send
    End With
    Set olkMsg = Nothing
    Set olkRpl = Nothing
End Sub


Espero que te sirva.

saludos.

 

 

Responder a un post de hace 8 años... A ver si hay suerte y lo lees Javier, la macro que pusiste es fantástica, muchas gracias.

Yo necesitaría algo más, pero no encuentro como hacerlo, te explico. Necesitaría que al abrir un mail(no al recibirlo, eso si lo he conseguido hacer) se mande una respuesta automaticamente al remitente, se te ocurre como hacerlo? 




X