FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Outlook
Posts: 310
Joined: Mon Oct 10, 2005 05:10 AM
Outlook
Posted: Sat Mar 13, 2010 03:33 AM

Hi All

This code opens the inbox folder
oOL := TOleAuto():New( "Outlook.Application" )
oNameSpace := oOL:Get( "GetNameSpace", "MAPI" )
oInbox := oNameSpace:Get( "GetDefaultFolder",6) // 6 = Inbox-Folder

Is there a way to open a non default folder.

Cheers

Colin

Posts: 1335
Joined: Fri Jun 13, 2008 11:04 AM
Re: Outlook
Posted: Sat Mar 13, 2010 05:51 AM
Dear Mr.Colin,

Code (fw): Select all Collapse
#DEFINE olFolderCalendar 9
#DEFINE olFolderContacts 10
#DEFINE olFolderDeletedItems 3
#DEFINE olFolderInBox 6
#DEFINE olFolderJournal 11
#DEFINE olFolderNotes 12
#DEFINE olFolderOutBox 4
#DEFINE olFolderSentMail 5
#DEFINE olFolderTask 13


Display Outlook's calendar
Code (fw): Select all Collapse
LOCAL oOutlook,oNameSpace,oDefaultFolder
oOutlook:= CREATEOBJECT('outlook.application')
oNameSpace:= oOutlook:getnamespace('MAPI')
oDefaultFolder:=oNameSpace:GetDefaultFolder(olFolderCalendar) // Calendar
oDefaultFolder:display()


Adding a folder in Outlook
Code (fw): Select all Collapse
Local oOutlook,oNameSpace,oNewFolder
oOutlook:=CREATEOBJECT('outlook.application')
oNameSpaceL=oOutlook:GetNamespace('mapi')
oNewFolder:=oNameSpace:Folders[2]:Folders:Add('myNewFolder')  // This will create a folder in the Personal folders' directory of Outlook.


How to find the names of the folders within the inbox folder
Code (fw): Select all Collapse
#DEFINE olFolderInBox 6
Local oOutlook,oNameSpace,oDefaultFolder
oOutlook:=CREATEOBJECT('outlook.application')
oNameSpace:=oOutlook:GetNamespace('mapi')
oDefaultFolder:=oNameSpace:Getdefaultfolder(olFolderInBox)
oFolders:=oDefaultFolder:folders
FOR EACH oFolder IN oFolders
 ?oFolder:name
ENDFOR


Regads
Anser
Posts: 310
Joined: Mon Oct 10, 2005 05:10 AM
Re: Outlook
Posted: Sun Mar 14, 2010 04:37 AM

Hi Anser

Thanks for your suggestions - I got around the issue by making a sub folder of the inbox - and
then checking the messages in the sub folder

oOL := TOleAuto():New( "Outlook.Application" )
oNameSpace := oOL:Get( "GetNameSpace", "MAPI" )
oInbox := oNameSpace:Get( "GetDefaultFolder",6) // 6 = Inbox-Folder
oCMSFolder := oInbox:Folders("cmsmail")

for each oItem In oCMSFolder:Items
cSender := ''
cSubject := ''
cAttach := ''
cSender := oItem:sendername
cSubject := oItem:subject
for each oAttach In oItem:Attachments
cAttach := oAttach:filename
next
aadd(aData,left(alltrim(cSender) + space(35),35) + '|' + ;
left(alltrim(cSubject) + space(35),35) + '|' + ;
left(alltrim(cAttach) + space(60),60))

next
SysRefresh()
aShow(aData,1,0,30,140,'Emails','Details')

Cheers

Colin

Continue the discussion