Inicio MS / Office

VBScript – Adjuntar archivos automáticamente y enviar correo Outlook

2


Ultima Actualización del Artículo: Abr 11, 2017

La función del siguiente VBScript es adjuntar un archivo o archivos automáticamente en base a la búsqueda de una serie de dígitos en el nombre del archivo y enviarlos por correo electrónico.

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.- Realizamos las modificaciones necesarias tal como ruta donde se guardan los archivos, las lineas que modificaremos son las: 17, 35 a la 39.

5.- Ejecutamos con la tecla F5

6.- Cuando lo ejecutemos nos mostrara una ventana donde capturamos el dato a buscar (Detecta mayúsculas y minúsculas).

6.- Una vez que demos OK para la búsqueda, nos abrirá un correo con los adjuntos encontrados y el cuerpo de correo que hayamos especificado.

Otro ejemplo donde se adjuntan todos los archivos que contienen el numero 347.

7.- Podemos enviar después de revisar el correo, si deseamos que se envíe automáticamente se pusieron comentarios en las lineas 38 y 39 del código.

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 AttachFilesbyEmailAutomatically()

Dim fldName As String
Dim fName As String
Dim sAttName As String
Dim strName As String

Dim olApp As Outlook.Application
Dim olMsg As Outlook.MailItem
Dim olAtt As Outlook.Attachments
 
Set olApp = Outlook.Application
Set olMsg = olApp.CreateItem(0)
Set olAtt = olMsg.Attachments

'Ruta donde se guardan los archivos
fldName = "C:\1-Tests\"

fName = dir(fldName)

strName = InputBox("Digito contenido")

 Do While Len(fName) > 0
  
  If InStr(fName, strName) > 0 Then
    olAtt.Add fldName & fName
    sAttName = fName & "<br />" & sAttName
   End If
   fName = dir
Loop

 
' send message
With olMsg
  .Subject = "Se adjuntan archivos solicitados"
  .To = "[email protected]"
  .HTMLBody = "Buen dia! " & olMsg.To & ", <br /><br /> Se adjuntan los archivos: <br /> " & sAttName & " en base a lo solicitado."
  .Display ' Marcar como comentario para envio automatico
  '.Send ' Desmarcar para envio automatico
End With
 

End Sub

Código basado en codigo de Diane Poremsky y modificado a solicitud de morpvin.

COMPARTIR
Mi nombre es Fernando, 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.

2 Comentarios

  1. Esta perfecto pero claro, si me pregunta la extension o los datos no es del todo automatico, me puedes indicar que puedo cambiar para que no pregunte e incluir directamente la seleccion en el script, es decir que seleccione la extension que necesito pero fija en el script, gracias y perdona tanta molestia. Un Saludo.

Deja un comentario...