HOWTO: Using OLE Automation to Display Microsoft Outlook from Visual FoxPro
ID: Q173582
|
The information in this article applies to:
-
Microsoft Visual FoxPro for Windows, versions 3.0, 3.0b, 6.0
-
Microsoft Visual Studio versions 97, 97sp1, 97sp2
SUMMARY
You may want to display Microsoft Outlook from Visual FoxPro to allow users
to read or send messages or to open other folders in Outlook. This article
demonstrates how to do this.
MORE INFORMATION
The Outlook object provides the functionality to control data stored in the
Outlook folders, but there is limited functionality to manipulate Outlook
itself. Since you probably want to interact with the data stored in
Outlook, you need to create a reference to the Messaging Application
Programming Interface (MAPI) folders where Outlook stores all of its
information. Do this by setting a variable to the "Namespace" object.
The following code creates and displays an instance of Outlook. Visual
FoxPro for Windows pauses execution as long as the user has the Outlook
application on top using the GetActivewindow API function call. If the
Visual FoxPro application window is brought on top, then the code forces
Outlook to close:
oOutlookObj = CREATEOBJECT("Outlook.Application")
oNamespace = oOutlookObj.GetNamespace("MAPI")
oFolder = oNamespace.GetDefaultfolder(6) && See below for other values
oFolder.Display
* Code to pause FoxPro while Outlook window is on top
IF NOT 'FOXTOOLS' $ SET('LIBRARY')
SET LIBRARY TO SYS(2004)+"FoxTools"
ENDIF
FoxWind = MAINHWND()
GetActive=RegFn('GetActiveWindow','','I') && Determine if FoxPro is
&& on top
DO WHILE .T. && Keep looping until the ActiveWindow = FoxWind
IF FoxWind = CallFn(GetActive)
EXIT
ENDIF
ENDDO
SET LIBRARY TO
oOutlookObj.Quit
The GetDefaultfolder method has several values that open different folders
in Outlook. The list below provides the default folder values.
Folder Name Value
----------------------
Deleted Items 3
Outbox 4
Sent Items 5
Inbox 6
Calendar 9
Contacts 10
Journal 11
Notes 12
Tasks 13
REFERENCES
Microsoft Outlook Visual Basic Help
For more information about pausing FoxPro program execution, please see the
following article in the Microsoft Knowledge Base:
Q131634
HOWTO: Pausing Program Execution while RUN /N Command is Running
(c) Microsoft Corporation 1997, All Rights Reserved. Contributions by Dean
Christopher, Microsoft Corporation
Additional query words:
Keywords : kbVFp kbVFp300 kbVFp300b kbVFp600 FxinteropOle FxprgGeneral
Version : WINDOWS:3.0,3.0b; WINNT:97,97sp1,97sp2
Platform : WINDOWS winnt
Issue type : kbhowto