Excel - Adjuntar archivo modificado

   
Vista:

Adjuntar archivo modificado

Publicado por Stevenson (13 intervenciones) el 25/05/2015 23:44:01
Cordial saludo
en el siguiente código trato de guardar y adjuntar el archivo para enviar por correo electrónico con el mismo nombre con el que fue descargado pero la opción ActiveDocument.Name no funciona, que puedo hacer para que el código funcione
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub CommandButton1_Click()
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.application")
OutApp.Session.logon
Set OutMail = OutApp.createitem(0)
ActiveDocument.Save
On Error Resume Next
With OutMail
.To = "slopez@westquimica.com"
.CC = ""
.BCC = ""
.Subject = "Solicitud Capacitación"
.body = "Se ha generado una nueva solicitud"
.Attachments.Add "C:\Users\" & get_Usuario & "\Downloads\" & ActiveDocument.Name & ".doc"
.Send
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
Application.DisplayAlerts = wdAlertsNone
Application.Quit
End Sub
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

Adjuntar archivo modificado

Publicado por Khristtian (77 intervenciones) el 26/05/2015 14:03:27
Como sabes que ActiveDocument.Name no funciona???

1.- Para ver si funciona debes porbarlo solo, por ejemplo, incluye una linea de prueba del tipo:
msgbox ActiveDocument.Name

2.- Para que hacer todo esto "C:\Users\" & get_Usuario & "\Downloads\" & ActiveDocument.Name & ".doc"

Si lo puedes hacer así:

.Attachments.Add ActiveDocument.FullName

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

Adjuntar archivo modificado

Publicado por Stevenson (13 intervenciones) el 26/05/2015 16:43:23
Muchas gracias por la respuesta, la linea que me aporta funciona y el código trabaja bien pero para algunos equipos (PC) y aquí me surge una nueva duda ¿Porqué si tengo la función ActiveDocument.Save en algunos equipos me abre el cuadro de diálogo Guardar Como? En los equipos que se abre éste cuadro de diálogo el código presenta error en la linea AciveDocument.Save

Adjunto Código completo para que me ayuden

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub CommandButton1_Click()
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.application")
OutApp.Session.logon
Set OutMail = OutApp.createitem(0)
ActiveDocument.Save
On Error Resume Next
With OutMail
.To = "slopez@westquimica.com"
.CC = ""
.BCC = ""
.Subject = "Solicitud Capacitación"
.body = "Se ha generado una nueva solicitud"
.Attachments.Add ActiveDocument.FullName
.Send
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
Application.DisplayAlerts = wdAlertsNone
Application.Quit
End Sub
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

Adjuntar archivo modificado

Publicado por Khristtian (77 intervenciones) el 26/05/2015 20:05:37
Si te muestra error al guardar en algunos equipos, es porque definitivamente algo pasa.

Probaste abriendo el archivo, editandolo, y guardando manualmente???
Que mensaje arroja???

Antes de que hagas funcionar código de programación debes tener la certeza de que lo que quieres lograr efectivamente se puede realizar.

Por ejemplo....
Un archivo con código para guardar los cambios... (Como el tuyo)...
Que pasa si le cambio en sus atributos al de Solo Lectura ????
Funcionará tu código?

Las posibilidades podrían ser:
- No, porque no se puede guardar cambios en un archivo de solo lectura
- No, a medias, porque te saldría el mensaje de "Guardar como..." y lo podrías guardar manualmente. (Esto ya debería haberte encendido la ampolleta para ver vías de solución)
- No, porque se produciría error de código si no manejas bien las excepciones.

Lo primero que debes hacer es detectar porque no deja guardar. Hazlo manualmente.
Una vez identifiques el problema, ve como lo manejas vía código.

Por ejemplo. si detectas que el archivo es de solo lectura, puedes usar SaveAs o SaveAs2 para guardarlo con otro nombre, y así crear una copia modificada del archivo.

También podría estar produciendo tu error la versión de office que tengas en los distintos PC o la versión de Windows, por los permisos, o también, el hecho de tratarse de un archivo de un origen desconocido que office bloquea por seguridad.
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 Andres Leonardo

Adjuntar archivo modificado

Publicado por Andres Leonardo (491 intervenciones) el 26/05/2015 21:12:00
te sale guardar como por q el archivo que esta editando esta solo como lectura.

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

Adjuntar archivo modificado

Publicado por Stevenson (13 intervenciones) el 26/05/2015 23:10:50
Efectivamente la solución esta como la mencionan ambos, (active.document.saveas)
Adjunto el Código para que lo use quien lo pueda necesitar, gracias

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub CommandButton1_Click()
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.application")
OutApp.Session.logon
Set OutMail = OutApp.createitem(0)
ActiveDocument.SaveAs
On Error Resume Next
With OutMail
.To = "slopez@westquimica.com"
.CC = ""
.BCC = ""
.Subject = "Solicitud Capacitación"
.body = "Se ha generado una nueva solicitud"
.Attachments.Add ActiveDocument.FullName
.Send
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
Application.DisplayAlerts = wdAlertsNone
Application.Quit
End Sub
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

Adjuntar archivo modificado

Hola, antes de nada, muchas gracias por el aporte, me este gran utilidad.

Mi pregunta es la siguiente:

¿Hay alguna manera de enviar por el correo el pdf de dicho word en vez del word?
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

Adjuntar archivo modificado

Publicado por Khristian (77 intervenciones) el 12/01/2016 15:53:24
Save as... PDF
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

Adjuntar archivo modificado

Publicado por Andrés Morales Olmedilla (3 intervenciones) el 12/01/2016 17:10:19
Gracias por tu respuesta,

Me refiero a cómo sería el código descrito anteriormente si lo que quisiéramos que realizará fuera:

A partir del documento word, lo que enviará por correo fuera el pdf generado de dicho word y no el documento word.

Buscando la solución directamente por el código, automatizando el proceso, evitando guardar el documento como pdf, guardarlo en la carpeta correspondiente, redactar el correo y enviarlo manualmente.


Muchas gracias de antemano.
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