Access - Pasar un informe a Excel y enviarlo por mail

 
Vista:

Pasar un informe a Excel y enviarlo por mail

Publicado por mar lopez (41 intervenciones) el 22/02/2007 08:57:17
Me gustaria hacer lo siguiente:

Quiero enviar un informe por correo electrónico apretando un botón. La sentencia de enviar correo la conozco, pero me parece un poco plana.

Se me ha ocurrido que el informe generara un archivo de Excel. Luego enviaría este archivo. Pero ¿como se envia un archivo?

También me valdría enviar el informe por correo, pero lo descuadra todo. ¿Sabeis como se puede hacer un informe que no se descuadre?

¿Se puede generar un archivo de excel a partir de una consulta y luego enviarlo?

Todo son preguntas, estoy hecha un lío. ¿Cómo lo hago?
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

RE:Pasar un informe a Excel y enviarlo por mail

Publicado por magartre (70 intervenciones) el 22/02/2007 17:16:13
Maria del Mar, yo utilizaba este código para hacer el envio

Private Sub EnviarInformesEmail_Click()

'éste código envía un report sobre todos los laminadores, sustituir el destinatario

MsgBox "Esta función no está activada", vbInformation, "AO LAMINADORES"
DoCmd.OpenForm "FechaEnvioInformes", acNormal, , , , acHidden

If IsNull(Forms!FechaEnvioInformes!FechaEnvio) Then

MsgBox "Se procede al envio de los Datos semanales" & Chr(13) & "de AO de los Laminadores", vbInformation, "AO LAMINADORES"
DoCmd.SendObject acSendReport, "LAMINADORES1", acFormatSNP, "destinatario apellidos separado,nombre", , , "AO Laminadores", "Adjunto envío los valores AO de laminadores durante la pasada semana. Saludos", False

MsgBox " Los datos han sido enviados. ", vbInformation, "AO LAMINADORES"

Forms!FechaEnvioInformes!FechaEnvio = Date

Else
If (Forms!FechaEnvioInformes!FechaEnvio) > Date - 4 Then

MsgBox "El envío de los datos semanales de AO laminadores," & Chr(13) & "ya se ha realizado con anterioridad.", vbInformation, "AO LAMINADORES"

Else
MsgBox "Se procede al envio de los Datos semanales" & Chr(13) & "de AO de los Laminadores", vbInformation, "AO LAMINADORES"
DoCmd.SendObject acSendReport, "LAMINADORES1", acFormatSNP, "destinatario", , , "AO Laminadores", "Adjunto envío los valores AO de laminadores durante la pasada semana. Saludos", False

MsgBox " Los datos han sido enviados. ", vbInformation, "AO LAMINADORES"

Forms!FechaEnvioInformes!FechaEnvio = Date

End If
End If

End Sub

Tengo un form en donde pongo la fecha de envio y dentro de los cuatro días siguientes si se intenta mandar de nuevo avisa que ya se ha mandado.
El informe lo envia como informe de Access.
Pruebalo y si tienes alguna duda me preguntas.
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

RE:Pasar un informe a Excel y enviarlo por mail

Publicado por mar lopez martinez (41 intervenciones) el 23/02/2007 08:16:40
¿Pero te respeta la líneas, los formatos, los pies de página, etc. o te descuadra todo el informe?
Yo lo he intentado y me deja el informe hecho una pena.
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

RE:Pasar un informe a Excel y enviarlo por mail

Publicado por magartre (70 intervenciones) el 23/02/2007 13:29:58
Mar, yo lo empleaba con frecuencia y manda el informe tal cual está hecho, solo necesitas tener el visor de Access Snapshot Viewer, que se carga con todo el paquete de Office, como ves en el código se utiliza el formato de envio acFormatSNP que es el adecuado para que sea correcto.
De esta forma he enviado incluso gráficos y sin problemas pues como te digo es fiel al original del informe.
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

RE:Pasar un informe a Excel y enviarlo por mail

Publicado por mar lopez (41 intervenciones) el 26/02/2007 09:05:21
Efectivamente, margartre, como tu dices funciona de cine.

He tenido que cambiar las referencias para que me lo reconociera (buscar el control ActiveX SNAPVIEW.OCX dentro de mi PC y cargarlo en referencias).

Luego me daba un error "el formato en el que intenta crear el objeto actual no esta disponible", pero se soluciona cambiando:

DoCmd.OutputTo acReport, stDocName, acFormatSNP

por

DoCmd.OutputTo acReport, stDocName, "FormatoSnapshot(*.snp)"

Ahora funciona todo perfectamente. Muchas gracias.
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

RE:Pasar un informe a Excel y enviarlo por mail

Publicado por magartre (70 intervenciones) el 07/03/2007 17:10:07
Mar me alegro que te hayan servido las explicaciones. Yo como te dije lo utilizaba en la empresa donde trabajaba y funcionaba perfectamente y las bases de datos estaban todas en un servidor, con mucha gente que accedia.
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