VBScript – Outlook reenviar correo y agregar texto automaticamente

El siguiente código VBScript es para reenviar correo agregando mensaje al cuerpo de correo y edita el texto del asunto antes de reenviar

Instrucciones de Uso

1.- Abrir el editor de Visual Basic (ALT+F11).

2.- Insertar un modulo nuevo (Insert > Module).

3.- Copiar el código VBScript.

4.- Editamos los campos de las lineas 7, 8 y 9; también podemos editar la linea 10 si deseamos que se envíe automáticamente.

5.- Ahora debemos crear la regla que ejecute el VBScript cuando cumpla las condiciones que estableceremos.

Para mas información de configuración ver: Como utilizar el Editor VBA en Office (Utilizar Macros VBScript) y Outlook – Crear y configurar reglas

 

Código

Sub ChangeSubjectForwardAttachment(item As Outlook.MailItem)
Dim oAtt As Attachment
strAtt = ""
For Each oAtt In item.Attachments
Debug.Print oAtt.FileName
  Set myforward = item.Forward
   myforward.Recipients.Add "[email protected]"
   myforward.Subject = "Reenvio archivos " '& oAtt.FileName 
   myforward.HTMLBody = "Texto a enviar" & vbCrLf & item.HTMLBody
   myforward.Display 'Cambiar Display por Send si deseamos que se envie automatico.
   Exit Sub
Next oAtt
End Sub

 

Leer:  VBScript para Llenar automáticamente documento Word con los datos de renglón de Excel
Fernando O.

Fernando O.

Soy analista de sistemas actualmente trabajo en una empresa con mas de 200 empleados que utilizan equipo de computo al cual se les da soporte en el departamento.
Uno de mis pasatiempos fuera de la empresa es escribir artículos para PortalMasTips donde documento los problemas, inquietudes y detalles interesantes que se presentan.
Fernando O.

Latest posts by Fernando O. (see all)

15
Deja una respuesta

avatar
 
Archivos de fotos e imágenes
 
 
 
Archivos de audio y video
 
 
 
Otros tipos de archivos
 
 
 
8 Hilos de comentarios
7 Respuestas de hilo
0 Seguidores
 
Comentario más reaccionado
Hilo de comentarios más caliente
6 Autores de comentarios
Manuel Martin Giltony sbLuis EnriquezayaFernando O. Autores de comentarios recientes

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

  Suscribir  
el más nuevo más antiguo más votado
Notificar de
christian pardes
Guest
christian pardes

ESTIMADO EN EL LINK: VBScript – Outlook reenviar correo y agregar texto automaticamente …..como podria hacer si kiero reemviar cierto correo que me llega con ciertas palabras que se encuentran en el ASUNTO o CUERPO DE MENSAJE ??? que lo reemvie a ciertas personas si dice tiene la palabra distrito “olivos” y si tiene otros distritos “san bartolo” que le manden a otras personas y la cantidad total de distritos se sectoriza en 4 norte- sur- este -oeste y por lo tanto rennvie a cuatro destinos segun el sector , ciempre los correos tienen archivos adjuntos y que el reemvio sea incluyendo dichos archivos y que en el asunto me adjunte el distrito el cual esta en el cuerpo del mensaje ?????, de antemano gracias estimado ?????

zaya
Guest
zaya

buen dia Fernando, tus codigos son excelentes, me podrias apoyar para saber como puedo realizar un reenvio de correo outlook pero que tome el destinatario de excel?.
lo que estoy realizando es exportar los correos de outlook a excel ahi se le coloca un ID y una destinatario que varia por cada correo, y requiero que se reenvie a esta persona asignada.

de antemano gracias!!

Luis Enrique
Guest
Luis Enrique

Hola
Queria saber si tienes algun script para que cada que me llegue un correo lo conteste si es despues de cierta hr

Luis Enrique
Guest
Luis Enrique

Ferenando eres un dios para esto.

Muchisimas gracias por el aporte solo me queda una duda esta es como una funcion que la mandas llamar o la puedes correr asi?

Luis Enrique
Guest
Luis Enrique

Muchas gracias Fer

Solo tengo una duda como lo configuro para que aplique

vi otra de tus aportaciones y la configuracion es en el regedit en esta ruta
HKEY_CURRENT_USER\SOFTWARE\VB and VBA Program Settings\Outlook\received
solo que no tengo la parte de VB and VBA Program Settings\Outlook\received existe alguna otra forma?

tony sb
Guest

Hola Fernando

Un gusto saludarte, tengo una duda: es posible que al momento de reenviar el correo se incluya la firma que uso en mis correos?? Ya que al usar la línea itm.Htmlbody únicamente incluye la firma de la persona que envió el correo

Manuel Martin Gil
Guest
Manuel Martin Gil

Saludos, Fernado.

Oye funciona perfecto, pero cómo se podría incluir que el correo que reenvían lo haga los los archivos adjuntos que tiene por defecto. Veo que al reenviarlo aunque los lleve, loas anula. Gracias.

Manuel Martin Gil
Guest
Manuel Martin Gil

Buenas Fernando…
Al pegar el código y ejecutarlo no me funciona.

Lo peqo tal cual:

‘Option Explicit
Sub ChangeSubjectForwardAttachment(item As Outlook.MailItem)
Dim oAtt As Attachment
StrAtt = “”
For Each oAtt In item.Attachments
Debug.Print oAtt.filename
Set myforward = item.Forward
myforward.Recipients.Add “[email protected]
myforward.Subject = “Reenvio archivos ” ‘& oAtt.FileName
myforward.HTMLBody = “Prueba” & vbCrLf & item.HTMLBody
myforward.Display ‘Cambiar Display por Send si deseamos que se envie automatico.
Exit Sub
Next oAtt
End Sub

Me abre directamente el cuadro de macros vacía.

He probado quitando de la línea uno esto y dejándolo así, pero también me da error:

sub ChangeSubjectForwardAttachment()

me muestra error 424 se requiere un objeto

Y si declaro una variabel pública me muestra error 91 variable o bloque with no establecido.

Creo qué no sé que tipo de variable determinar para esto.

Compartir
Twittear
Pin
Más en Outlook VBScript
VBScript – Adjuntar archivos automáticamente y enviar correo Outlook

VBScript  – Guardar los archivos adjuntos catalogado por remitente y Eliminar adjunto del Correo

VBScript – Guarda los archivos adjuntos dentro de la carpeta del Remitente catalogado con fecha

Cerrar