Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Reading an Outlook .pst file
Message
From
10/01/2005 13:03:41
 
 
To
10/01/2005 10:51:16
Mike Cole
Yellow Lab Technologies
Stanley, Iowa, United States
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 7 SP1
OS:
Windows 2000 SP4
Network:
Novell 4.x
Miscellaneous
Thread ID:
00975674
Message ID:
00975720
Views:
18
>Hello,
>I need to find a way to convert a .pst file into a foxpro cursor. Anybody have any examples, or know where I can find any? Thanks!!
>

Automating Outlook makes this easy. Here's one example, drawn from the book that Della Martin and I wrote ("Microsoft Office Automation with Visual FoxPro").
* Read Outlook contact information into a cursor
#DEFINE olContacts 10
#DEFINE olNone 0
#DEFINE olHome 1
#DEFINE olBusiness 2
#DEFINE olOther 3
LOCAL oNameSpace, oContacts, oContact
LOCAL cFirst, cLast, cAddr, cPhone

IF VarType(oOutlook) <> "O"
  * Start or connect to Outlook
  * Make it public for demonstration purposes.
  RELEASE oOutlook
  PUBLIC oOutlook
  oOutlook = CreateObject("Outlook.Application")
ENDIF
oNameSpace = oOutlook.GetNameSpace("MAPI")
* Get Contacts folder
oContacts = oNameSpace.GetDefaultFolder( olContacts )
* Create a cursor to hold contact information
CREATE CURSOR ContactInfo ;
  (cFirstName C(15), cLastName C(20), mAddress M, cPhoneNum C(30))
* Go through contacts
FOR EACH oContact IN oContacts.Items
  WITH oContact
    cFirst = .FirstName
    cLast = .LastName
    cPhone = .PrimaryTelephoneNumber
    * Choose the right address. If the primary phone number is empty,
    * pick up the phone number associated with this address.
    DO CASE
    CASE .SelectedMailingAddress = olHome
      cAddr = .HomeAddress
      IF EMPTY(cPhone)
        cPhone = .HomeTelephoneNumber
      ENDIF
    CASE .SelectedMailingAddress = olBusiness
      cAddr = .BusinessAddress
      IF EMPTY(cPhone)
        cPhone = .BusinessTelephoneNumber
      ENDIF
    CASE .SelectedMailingAddress = olOther
      cAddr = .OtherAddress
      IF EMPTY(cPhone)
        cPhone = .OtherTelephoneNumber
      ENDIF
    CASE .SelectedMailingAddress = olNone
      cAddr = ""
    ENDCASE
    INSERT INTO ContactInfo VALUES (cFirst, cLast, cAddr, cPhone)
  ENDWITH
ENDFOR
* Show the results
BROWSE
RETURN
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform