Macro o VBA para automatizar mail de respuesta con un adjunto y texto predefinido
Iniciado por
Marco23
, jun 25 2013 11:02
Marco23
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.
Ver solución completa
11 Respuestas de expertos
Pulsa corazón para recibir avisos de nuevas Respuestas
Kittin
#11
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"
Respuesta de
Kittin
Cuenta Std
1
Arturo VelFranc
#12
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