Cargando

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

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

 

Publicado 11 junio 2022 - 22:28

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 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




X