FoxPress,FoxPluss

FoxPress,FoxPluss

lunes, 4 de abril de 2011

Manipular Mails de Outlook en Visual FoxPro

Hola, mando este tip, es muy util si quieremos manipular mails de Office Outlook desde Visual FoxPro, ya sea mandarlos o consultarlos; hasta consultar las diferentes badejas.

Primero empezaremos creando nuestro objeto de Outlook:
*--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.Display && Mostramos nuestro mail creado.
*-- Para mostrar la bandeja de entrda de outlook desde fox con create object
lOutlook = CREATEOBJECT("Outlook.Application")  && creamos nuestro objeto de Outlook
lNameSpace = loutlook.GetNamespace('MAPI') && instanciamos el namespace de outlook
lNameSpace.GetDefaultFolder(6).Display && Mostramos la bandeja de entrada de outlook
Valores de GetDefaultFolder()
  • 3 - Elementos eliminados
  • 4 - Bandeja de salida
  • 5 - Elementos enviados
  • 6 - Bandeja de Entrada
Podemos enviar a pantalla cualquiera de estas bandejas de outlook solo con cambiar el valor de GetDefaultFolder().
También podemos ver los mensaje de cada una de las bandejas arriba mencionadas.
*-- Ver mensajes de las bandejas de outlook
En este ejemplo mandaremos a pantalla un mail de elementos enviados.
lOutlook = CREATEOBJECT("Outlook.Application")  && creamos nuestro objeto de Outlook
lNameSpace = lOutlook.GetNamespace('MAPI') && instanciamos el namespace de outlook
lMail=lNameSpace.GetDefaultFolder(5).Items.item(1) && Instanciamos nuestro Mail
Var = lMail.Subject && Debemos de manejar dos propiedades del mail
Var2 = lMail.SenderName &&  Antes de mostrarlo para que no muestre un error
lMail.Display && Y lo mostramos sin problema
*-- Comprobar si el mail tiene archivos adjuntos
Tambien se puede manipular los elementos adjuntos del mensaje. Tomando las variables del ejemplo anterior.
TotalAdd = lMail.Attachments.Count && Ponemos en una variable el total de archivos adjuntos
if TotalAdd > 0
  FOR j = 1 TO TotalAdd && Creamos un ciclo para recorrer los elementos adjuntos
    Archivo = lMail.Attachments(j).FileName && Guardamos el nombre del Archivo
    lMail.Attachments(j).SaveAsFile("C:\" + Archivo) && En este ejemplo lo guardamos en C:\
  ENDFOR
ENDIF
*-- Otras opciones para archivos adjuntos
lMail.Attachments(1).Size  && Muestra cuanto pesa el archivo
lMail.Attachments(1).Delete && Para elimiar el archivo
lMensaje.Attachments(1).PathName && Muestra la ruta de donde se jala el archivo

1 comentario:

  1. Como hacer para traer las direcciones de email de una tabla al campo para de Outlook, gracias

    ResponderEliminar