Ms-Dos - Enviar email predefinido adjuntando archivo

 
Vista:
sin imagen de perfil
Val: 33
Ha aumentado 1 puesto en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Enviar email predefinido adjuntando archivo

Publicado por Salvador (18 intervenciones) el 15/02/2017 22:52:33
Hola:
Tengo este código en un archivo llamado "Ejemplo.vbs" que abre el Outlook con los campos habituales (Para, CC, Asunto, etc) completados. Pero el campo "Adjunto" quisiera que lo tomara de manera automática (para no escribir manualmente la ruta del archivo) al arrastrar dicho archivo al icono "Ejemplo.vbs".

¿Hay alguna forma conseguirlo?

1
2
3
4
5
6
7
8
9
10
11
12
para = "mail1@empresa.com; mail2@empresa.com; mail3@empresa.com"
asunto = "Reporte"
mensaje = "Estimados, adjunto reporte."
adjunto = "C:\Users\usuario\Desktop\prueba.jpg" '<<<<<<<<<<<<<<<
 
Set outlook = CreateObject("Outlook.Application")
Set correo = outlook.CreateItem(olMailItem)
correo.To = para
correo.Subject = asunto
correo.Body = mensaje
correo.Attachments.Add(adjunto) '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
correo.display
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Manuel
Val: 17
Ha aumentado su posición en 3 puestos en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Enviar email predefinido adjuntando archivo

Publicado por Manuel (13 intervenciones) el 18/02/2017 23:23:11
Lo que tienes debería funcionar... al menos poniendo la ruta del archivo directamente en correo.attachments.add(c:\...). Eso si, cuidado con la ruta que tienes en tu código. Las carpetas de usuarios, etc, salvo rutas relativas, pues las carga el diablo. Si quieres acceder a un recurso presente en alguna carpeta del usuario activo, pues lo mejore es recurrir a variables de entorno, concretamente a %homepath%...

A mayores, prueba a darle el tipo de archivo (olByValue) y no solo la ruta, ya que que es opcional, pero por probar poco se pierde.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 33
Ha aumentado 1 puesto en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Enviar email predefinido adjuntando archivo

Publicado por Salvador (18 intervenciones) el 19/02/2017 12:54:13
Gracias por responder.

Funcionar, funciona lo que tengo. Pero verás que es un engorro cambiar a mano la ruta donde se encuentra el archivo que se va a adjuntar. Para eso he creado un archivo .bat (llamése p.ej.: "Correos.bat") para que al arrastrar dicho archivo adjunto a ese bat, tome su ruta y la traslade al "Ejemplo.vbs" (o sea, al código de mi primer comentario)

El archivo "Correos.bat" es éste:
1
2
3
@echo off
Set MyArchivo=%1
Ejemplo.vbs %MyArchivo%
Se supone que al arrastrar un archivo al .bat, tomará su ruta en la variable "MyArchivo". Y lo que pretendo es que dicha variable la inserte aquí abajo (pero no lo consigo):


1
2
3
4
para = "mail1@empresa.com;"
asunto = "Reporte"
mensaje = "Estimados, adjunto reporte."
adjunto = %MyArchivo%  '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


PD: Estoy iniciándome en este lenguaje y aunque me suenan los conceptos OldByValue y %homepath%, no sé qué hacer ni dónde ponerlos.
Si tienes otra idea distinta a la mía, también me sirve con tal de conseguir lo que pido.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Manuel
Val: 17
Ha aumentado su posición en 3 puestos en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Enviar email predefinido adjuntando archivo

Publicado por Manuel (13 intervenciones) el 20/02/2017 14:57:29
En vez de hacerlo directo, prueba a crear un objeto de tipo Attachment y agrégalo ahí y después ese objeto directo a adjunto. Y no directamente como un string.

Si se me ocurre otra cosa te comento.

buen día
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar