La Web del Programador: Comunidad de Programadores
 
    Pregunta:  28484 - ENVIAR UN REPORTE A UN CORREO
Autor:  Carlos Cortavarria Checkley
Hola :

Cómo puedo hacer para que los reportes generados por el Report Form del Foxpro para Windows, no vayan a la impresora sino a un archivo y de esta manera poder atacharlo a un correo.
Me parece que lo que me estan pidiendo no se puede hacer con las herramientas que tengo:
Archivos planos DBF, foxpro para windows (no visual) y Outlook

Les explico lo que he hecho hasta ahora:

El Report Form del Foxpro para windows cuando se utiliza con el comando Prompt, muestra una casilla que indica que al seleccionarla, el reporte irá a guardarse a disco. Efectivamente lo hace, pero cuando trato de visualizarlo de alguna manera, está como formateado y no se lee nada.

He intentando con Visual FoxPro pero parece que no tiene todas las herramientas necesarias.

Ahora me encuentro investigando en Visual Basic, ya que el Word tiene sus macros desarrolladas en Visual Basic y parece que si tiene las herramientas. He logrado abrir un documento nuevo de Word desde un programa en Basic, pero no encuentro la forma de ingresar los datos. Parece que tiene una estructura que no llego a entender muy bien. Habla de Rango y Selección pero no capto bien la idea.

Otra cosa que se me ocurre es que pueda que necesite definir un objeto Párrafo, Sentencia, Texto o algo así en donde colocar el texto que es parte del reporte que emitiría.

Gracias y ojala que me ayuden.
Suerte.

  Respuesta:  Marcelo Siles
Existe un utilitario llamado MessengerPlus que lo puedes descargar desde www.efax.com en forma gratuita.
Este utilitario te genera una impresora virtual que captura cualquier salida a una impresora y la attachea en tu cliente de correo electrónico (Outlook, etc).
Entonces, cuando ejecutas el Report Form te aseguras que esté como impresora predeterminada el Messenger Plus, y así te guarda la adjunta la salida impresa en un mensaje de correo.
Cuidado: Quien recibe el correo debe tener instalado el editor correspondiente para abrir el archivo adjunto, ya que el archivo tiene una extensión .efx y si no posees el editor no podrá visualizarlo.
Otra forma es que cuando generes la salida, en lugar de crear un .efx generes un .exe que se abre automáticamente. Lógicamente te va a ocupar más espacio pero te aseguras que el receptor del e-mail pueda visualizar correctamente la imagen enviada.
Suerte !!!

  Respuesta:  Ottho Cabrera
Vamos a suponer que tienes el Visual Fox 5
Casi estas haciendo las cosas bien.

-Para poder ver tu reporte con el metodo que estas usando necesitas crear una impresora con el driver "generic/textonly" en el panel de control de impresoras y en lugar de que imprima a un puerto, indicarle ahi mismo que imprima a un archivo.

-La forma correcta de hacer esto es sin todo el relajo de arriba es:
REPORT FORM (nombre de tu reporte) TO FILE (nombre del archivo donde lo quieres guardar) ASCII NOCONSOLE