Leer correo Outlook desde VFP

1,409 views
Skip to first unread message

Miguel

unread,
Jun 7, 2010, 11:25:19 AM6/7/10
to Comunidad de Visual Foxpro en Español
Hola:
Con ayuda del fenomenal artículo de Luisma sobre este asunto he
conseguido fácilmente una aplicación para leer la bandeja de entrada,
o los elementos enviados, desde VFP. El problema es el siguiente.

Consigo guardar el asunto, el cuerpo del mensaje y otros datos
importantes, pero, ¿Cómo puedo guardar el mensaje "en bruto", o sea en
formato .msg?. ¿Qué propiedad del objeto outlook me extrae el mensaje
entero, en el formato que venga y con los anexos, como en la opción
<guardar como> del outlook?.

Gracias por sus comentarios y aportaciones.
Miguel

DIEGO

unread,
Jun 7, 2010, 2:39:06 PM6/7/10
to Comunidad de Visual Foxpro en Español
Podrias citar el articulo o enviarnos el link?

Miguel

unread,
Jun 7, 2010, 2:53:30 PM6/7/10
to Comunidad de Visual Foxpro en Español
http://www.portalfox.com/index.php?name=News&file=article&sid=906
> > Miguel- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

Mauricio Ruben Molinero

unread,
Jun 7, 2010, 2:58:41 PM6/7/10
to publice...@googlegroups.com

#

DEFINE olMSG 3

*--Para crear y mostrar un nuevo mail--

lOutlook =

CREATEOBJECT("Outlook.Application") && creamos nuestro objeto de Outlook

lMail = lOutlook.CreateItem(0)

&& Creamos un nuevo mail

lMail.

To = "a...@xyz.com"

lMail.Subject = "Asunto"

lMail.Body = "Probando el funcion SaveAs()"

lMail.

SaveAs("C:\aa.msg", olMSG)


--
Mauricio R. Molinero
Diseño Informático
www.gestionmagnum.com.ar

Miguel

unread,
Jun 8, 2010, 10:45:07 AM6/8/10
to Comunidad de Visual Foxpro en Español
Muchas gracias por tu respuesta (aunque había encontrado
accidentalmente la solución en Internet), efectivamente, la propiedad
saveas permite guardar el mensaje "en bruto":

iMaiI.saveas ("c:\temp\M_Entr" + transform(lnI) + ".msg")

Con esto resuelvo mis problemas, que eran cómo crear un sistema de
gestión documental, pero en vez de basado en documentos que entran por
cualquier vía, normalmente por escáner, y que pueden ser de cualquier
formato, trataba de gestionar los correos que entran o salen por
outlook.

Existe la posibilidad de guardar el cuerpo y/o el asunto del mensaje,
pero esta opción lo único que consigue es engordar mi base de datos,
es similar a guardar las imágenes en un campo general, en vez de en
ficheros. Así que, lo único que guardo es el nombre y ruta del fichero
en formato .msg, de forma que no solo puedo ver el mensaje en el
programa de gestión documental, si no también abrirlo y contestar al
remitente o a todos, las mismas opciones que ofrece outlook.

Para esto era fundamental poder guardar los mensajes como .msg.

Un saludo,
Miguel





On 7 jun, 20:58, Mauricio Ruben Molinero <pipi...@gmail.com> wrote:
> #DEFINE olMSG 3
>
> *--Para crear y mostrar un nuevo mail--
>
> lOutlook = CREATEOBJECT("Outlook.Application") && creamos nuestro objeto de
> Outlook
>
> lMail = lOutlook.CreateItem(0) && Creamos un nuevo mail
>
> lMail.To = "a...@xyz.com"
>
> lMail.Subject = "Asunto"
>
> lMail.Body = "Probando el funcion SaveAs()"
>
> lMail.SaveAs("C:\aa.msg", olMSG)

Humberto Díaz

unread,
Jun 8, 2010, 10:19:06 AM6/8/10
to publice...@googlegroups.com
Como puedo hacer para que los resultados de un reporte, me lleguen a un fichero Excel, discúlpenme, por que entre todos los problemas que se plantean en el grupo, esto parece cosa de niños, pero en lo que doy con la solución, entre ustedes seguro que resuelvo, además soy relativamente nuevo en el grupo, y me estoy actualizando en todo gracias a ustedes, he aprendido mas leyendo los correos que con todos los manuales que he podido leer
 
gracias de antemano
 


__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5182 (20100608) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

cuitlahuac hernandez coronado

unread,
Jun 8, 2010, 5:26:14 PM6/8/10
to publice...@googlegroups.com
seleccionas el cursor  " el cual vas a enviar a el reporte"  claro antes de enviar al reporte puedes poner esta línea y funciona
    
SELECT finalexcel 
COPY TO GETFILE('XLS', 'Guardar archivo .XLS:',   'Guardar', 1, 'Guardar reporte en...') type XL5
 
no sale así formateado bonito pero funciona y es rápido.

Yvan GMAIL

unread,
Jun 8, 2010, 4:29:28 PM6/8/10
to publice...@googlegroups.com

Te refieres a pasar la misma estructura que aparece en tu reporte previo enviarlo a Excel?..  Eso lo he logrado con el Crystal Report (Tiene una herramienta exportar a XLS)

 

Pero si te quieres enviar la data directamente a excel..

·        En bruto puedes enviarlo con :

Sele micursor_con_data

Copy to Archivo.xls TYPE XLS

 

Si deseas enviarlo formateado y todo el tema

Con automatización

oExcel = CREATEOBJECT(“Excel.Application”)

oExcel.Workbooks….

sele mi cursor

scan

               oExcel.Cells(Fila,Col).Value = MiCursor.midato-

endscan

 

Etc. (Hay varios ejemplos en la Web)

Luis Maria Guayan

unread,
Jun 8, 2010, 5:32:10 PM6/8/10
to publice...@googlegroups.com
Prueba FoxyPreviewer

--
FoxyPreviewer 1.23 --
http://www.portalfox.com/article.php?sid=2707

o directamente ExcelListener de Alejandro Sosa (usado por FoxyPreviewer)

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Armando Rodríguez

unread,
Jun 8, 2010, 6:28:48 PM6/8/10
to publice...@googlegroups.com

He descargado el FoxyPreviewer, sin embargo a la hora de llamarlo me marca un error: “No se encuentra la propiedad PREVIEWHELPER”.  Que estaré haciendo mal, incluí en mi aplicación el PATH donde se encuentran los archivos que descargué.  Alguien puede apoyarme ?

 

Saludos y Gracias.

Armando Rodríguez

Guanajuato, México

Manuel Barredo Mora

unread,
Jun 8, 2010, 6:52:40 PM6/8/10
to publice...@googlegroups.com

Hay varias formas de corregir.. una pon la foxypreviewer.app en el directorio de tu aplicación pero también incluye

Reportoutput.app y reportpreview.app ..  

 

Pruebalo..



__________ Información de ESET Smart Security, versión de la base de firmas de virus 5183 (20100608) __________

ESET Smart Security ha comprobado este mensaje.

http://www.eset.com


__________ Información de ESET Smart Security, versión de la base de firmas de virus 5183 (20100608) __________

ESET Smart Security ha comprobado este mensaje.

http://www.eset.com



__________ Información de ESET Smart Security, versión de la base de firmas de virus 5183 (20100608) __________

ESET Smart Security ha comprobado este mensaje.

http://www.eset.com

Armando Rodríguez

unread,
Jun 8, 2010, 7:24:59 PM6/8/10
to publice...@googlegroups.com

Gracias, eh incluido en la aplicación los 2 archivos que me indicas. Ahora cuando manda llamar el ReportOutput.app, me marca “El objeto no está contenido en un FORM”.  Que estará pasando amigos ?

Manuel Barredo Mora

unread,
Jun 8, 2010, 9:03:40 PM6/8/10
to publice...@googlegroups.com

Tus reportes los estas ejecutando desde fox , o en el ejecutable, y otra pregunta, tus reportes están incluidos en el ejecutable o están excluidos del proyecto?

 

 

Pues son dos formas diferentes..

 

Y como estas llamado tus reportes..???

Humberto Díaz

unread,
Jun 9, 2010, 2:29:48 AM6/9/10
to publice...@googlegroups.com
A Manuel Barredo
 
Los Reportes los estoy haciendo desde el Ejecutable y están incluidos en el proyecto
 
y desde ahora muchas gracias a todos los que me han respondido, estoy seguro que voy a resolver
 
y fíjense que cambie la letra, espero que ahora se entienda mejor
 
Humberto Díaz

Armando Rodríguez

unread,
Jun 9, 2010, 10:09:53 AM6/9/10
to publice...@googlegroups.com

Hola, los reportes los ejecuto desde fox y los reportes están excluidos del proyecto.

Ojalá puedan ayudarme.

 

Saludos y Gracias.

Armando Rodríguez.

Armando Rodríguez

unread,
Jun 9, 2010, 10:11:36 AM6/9/10
to publice...@googlegroups.com

Me faltó responder como llamo el reporte. Es de esta manera:

 

LOCAL loReport AS "PreviewHelper" OF "FoxyPreviewer.prg"

loReport = CREATEOBJECT("PreviewHelper")

loReport.AddReport("programglobal.frx", "RANGE 1,1 NODIALOG") && FRX File, Clauses

loReport.RunReport()

 

Saludos.

Manuel Barredo Mora

unread,
Jun 9, 2010, 11:00:59 AM6/9/10
to publice...@googlegroups.com

No se porque te estará pasando eso., pero para empesar no le pongas RANGE 1,1 quitaseleo solo dejale NODIALOG pues si no solo te mandara una sola hoja de todo el reporte…

 

De lo otro dejame ver que puede ser.. te respondo esto rápido pues voy de salida…

 

Saludos



__________ Información de ESET Smart Security, versión de la base de firmas de virus 5184 (20100609) __________



ESET Smart Security ha comprobado este mensaje.

http://www.eset.com


__________ Información de ESET Smart Security, versión de la base de firmas de virus 5184 (20100609) __________



ESET Smart Security ha comprobado este mensaje.

http://www.eset.com



__________ Información de ESET Smart Security, versión de la base de firmas de virus 5184 (20100609) __________
Reply all
Reply to author
Forward
0 new messages