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.

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 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 30 mayo 2023 - 22:27

Esta genial, ni en el soporte de microsoft ponen esto, ahora si quieren que el archivo adjunto cambie de nombre solo tienen que definir una variable tipo string y a la ruta debe ser de tipo variant no constante y concatenarlo con la variable llamada file por ejemplo y concatenar la extensión de tipo de archivo



 

Publicado 11 junio 2022 - 22:28

Javier Soria, 26 Jun 2013 - 08:27, dijo:

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.

 

 

¡Excelente solución! Tengo una par de dudas:

1. ¿Cómo hago para añadir a alguien en copia - siempre la misma dirección -?

2.- Quiero añadir un texto en el cuerpo del mensaje con diferentes cambios de línea, peor el 

VBA espera que cierre la instrucción cada vez que salto de línea. 

Ex_"Buenos días,

 Adjunto tarifas solicitdas.

 

 Un saludo"



 

Publicado 25 marzo 2018 - 01:53

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

.send

por

.display



 

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"



X