Consultor Eletrônico



Kbase P95411: How to obtain the contact list from MSOutlook using Progress 4GL
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   9/24/2004
Status: Unverified

GOAL:

How to obtain the contact list from MSOutlook using Progress 4GL


FIX:

DEF VAR i AS INT NO-UNDO.
DEF VAR houtlook AS COM-HANDLE NO-UNDO.
DEF VAR hmail AS COM-HANDLE NO-UNDO.
DEF VAR hMyListofaddresses AS COM-HANDLE NO-UNDO.
DEF VAR hnameofmylist AS COM-HANDLE NO-UNDO.

CREATE "Outlook.Application" houtlook NO-ERROR.

IF NOT ERROR-STATUS:ERROR THEN DO:
hmail = houtlook:GetNameSpace("MAPI").

/* Taking the FIRST list OF contacts FROM Outlook */
ASSIGN hMyListofaddresses = hmail:AddressLists(1).

/* You can search a contact list by his name by doing the following
DO i = 1 TO hmail:AddressLists:COUNT():
ASSIGN hMyListofaddresses = hmail:AddressLists(i).
IF hMyListofaddresses:NAME = "NameofmylistOutlook" THEN
LEAVE.
ELSE
RELEASE OBJECT hMyListofaddresses.
END.*/

IF VALID-HANDLE(hMyListofaddresses) THEN DO:
MESSAGE "Name of my first list: " + hMyListofaddresses:NAME
VIEW-AS ALERT-BOX INFO BUTTONS OK.

/*Taking each of rhe addresses from the list */
DO i = 1 TO hMyListofaddresses:AddressEntries:COUNT:
hnameofmylist = hMyListofaddresses:AddressEntries:Item(i).
OUTPUT TO c:\list_outlook.txt APPEND.
PUT UNFORMATTED hnameofmylist:NAME SKIP.
OUTPUT CLOSE.
PAUSE.
RELEASE OBJECT hnameofmylist.
END.

RELEASE OBJECT hmail.
RELEASE OBJECT hMyListofaddresses.
END.

END.

RELEASE OBJECT houtlook.