© Copyrights 1997 by FoxPress, All rights reserved
FoxPress, Septiembre 1997
Puede ser que en algunos casos te interese mostrar el Microsoft Outlook desde Visual FoxPro para permitir a los usuarios leer o enviar mensjes o abrir carpetas dentro del Outlook, aquí tienes la forma de hacerlo.
El objeto Outlook te permite controlar los datos guardados en las carpetas del Outlook, pero es más difícil manipular el propio Outlook. Para tratar los datos almacenados en el Outlook, se necesitará crear una referencia a las carpetas del Messaging Application Programming Interface (MAPI) donde Outlook almacena toda su información. Para hacer esto acudimos a una variable del objeto "Namespace".
El siguiente código crea y muestra una instancia del Outlook. Visual FoxPro para la ejecución mientras el Outlook está on top usando la función del API GetActivewindow. Si la aplicación de Visual FoxPro se fuerza para ponerse on top, entonces el Outlook viene forzado a cerrarse:
oOutlookObj = CREATEOBJECT("Outlook.Application") oNamespace = oOutlookObj.GetNamespace("MAPI") * ver al final para otros valores oFolder = oNamespace.GetDefaultfolder(6) oFolder.Display * Codigo para paralizar FoxPro mientras la ventana del Outlook esta activa y on top IF NOT 'FOXTOOLS' $ SET('LIBRARY') SET LIBRARY TO SYS(2004)+"FoxTools" ENDIF FoxWind = MAINHWND() GetActive=RegFn('GetActiveWindow','','I') ** Determina si FoxPro está on top DO WHILE .T. ** Espera hasta que el ActiveWindow = FoxWind IF FoxWind = CallFn(GetActive) EXIT ENDIF ENDDO SET LIBRARY TO oOutlookObj.Quit
El método GetDefaultfolder tiene varios valores que abren diferentes carpetas del Outlook. La lista que se muestra a continuación indica los valores de las carpetas por defecto.
Nombre del Folder Valor Nombre del Folder Valor ----------------------------------- ----------------------------------- Deleted Items 3 Calendar 9 Outbox 4 Contacts 10 Sent Items 5 Journal 11 Inbox 6 Notes 12