![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
![]()
I scaned all message store to search folders and add them to a tree with
checkbox. user can select what folder to do deal with, i want to set different icon to the tree item. I have icon for inbox, outbox, sent items and so on. So i want to know what kind of MAPIFolder is, for the default message store, it is esay to know this while use GetDefaultFolder, for other message store like hotmail, i tried a way, it worked fine, but when i add hotmail account via outlook connector(from microsoft), it not work any more. My method is: 1. use NameSpace::GetDefaultFolder get the folder. 2. Get name of the default folder and save it to a map. 3. do 1,2 to get other folder string, inbox, outbox(...etc.) 4. for no default message store, check their name if existed in the map, if does, return id will show which kind it is. Hotmail(via outlook connector) is not work, because some string are english, such inbox, sent items, some are local language, such as chinese string of "outbox". Any ideas? If i want to check the folder's(MAPIFolder) type? -- Message posted via http://www.officekb.com |
#2
|
|||
|
|||
![]()
GetDefaultFolder will only work with certain folders in your default mail
store (where emails are delivered). I'm not familiar at all with the Outlook connector, but if it shows folders in Outlook it most likely is mimicking a PST file. In that case you can iterate the Stores collection in Outlook 2007 or NameSpace.Folders in earlier versions to get all opened stores. From there you can get folders and each folder is a MAPIFolder, where you can check on the DefaultItemType property to see what type of folder it is. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007. Reminder Manager, Extended Reminders, Attachment Options. http://www.slovaktech.com/products.htm "ryotyankou via OfficeKB.com" u48591@uwe wrote in message news:96a564faae503@uwe... I scaned all message store to search folders and add them to a tree with checkbox. user can select what folder to do deal with, i want to set different icon to the tree item. I have icon for inbox, outbox, sent items and so on. So i want to know what kind of MAPIFolder is, for the default message store, it is esay to know this while use GetDefaultFolder, for other message store like hotmail, i tried a way, it worked fine, but when i add hotmail account via outlook connector(from microsoft), it not work any more. My method is: 1. use NameSpace::GetDefaultFolder get the folder. 2. Get name of the default folder and save it to a map. 3. do 1,2 to get other folder string, inbox, outbox(...etc.) 4. for no default message store, check their name if existed in the map, if does, return id will show which kind it is. Hotmail(via outlook connector) is not work, because some string are english, such inbox, sent items, some are local language, such as chinese string of "outbox". Any ideas? If i want to check the folder's(MAPIFolder) type? -- Message posted via http://www.officekb.com |
#3
|
|||
|
|||
![]()
Hi, ken, that's not exactly what i want, DefaultItemType is only show me what
kind of item the folder will hold, MailItem, appointment, contact. I want to set the CTreeCtrl item's icon, and this item is a MAPIFolder, so i want to know it's kind, the kind include "inbox, outbox, sent items, deleted items, junk e-mails, drafts." My method not work because the string is not always the same language, my local system(XP pro) is Chinese system, but my hotmail account registered using English info. So the folder names are all in a muddle. Some are English and others are Chinese. This is special case, normally all message store folders in my outlook are Chinese. Ken Slovak - [MVP - Outlook] wrote: GetDefaultFolder will only work with certain folders in your default mail store (where emails are delivered). I'm not familiar at all with the Outlook connector, but if it shows folders in Outlook it most likely is mimicking a PST file. In that case you can iterate the Stores collection in Outlook 2007 or NameSpace.Folders in earlier versions to get all opened stores. From there you can get folders and each folder is a MAPIFolder, where you can check on the DefaultItemType property to see what type of folder it is. I scaned all message store to search folders and add them to a tree with checkbox. user can select what folder to do deal with, i want to set [quoted text clipped - 17 lines] "outbox". Any ideas? If i want to check the folder's(MAPIFolder) type? -- Message posted via OfficeKB.com http://www.officekb.com/Uwe/Forums.a...ddins/200905/1 |
#4
|
|||
|
|||
![]()
Well, you can only use GetDefaultFolder() with folders in your default mail
store (where email is delivered for that Outlook profile). So that method won't help you at all for non-default stores. If you use a MAPI viewer such as OutlookSpy you can see that on the Store object (IMsgStore button) in any open store there are properties there that contain the folder EntryID's of certain default folders: PR_IPM_OUTBOX_ENTRYID 0x35E20102 PR_SENTMAIL_ENTRYID 0x35E40102 PR_IPM_WASTEBASKET_ENTRYID 0x35E30102 Those contain the EntryID's for respectively the Outbox, Sent Items and Deleted Items folders. Then in the Inbox (IMAPIFolder button) there a PR_IPM_APPOINTMENT_ENTRYID 0x36D00102 PR_IPM_CONTACT_ENTRYID 0x36D10102 PR_IPM_DRAFTS_ENTRYID 0x36D70102 PR_IPM_JOURNAL_ENTRYID 0x36D20102 PR_IPM_NOTE_ENTRYID 0x36D30102 PR_IPM_TASK_ENTRYID 0x36D40102 Those are for the Calendar, Contacts, Drafts, Journal, Notes and Tasks default folders. You can read those properties from the Store, navigate down through PR_IPM_SUBTREE_ENTRYID (0x35E00102) and get to the visible folders where you can check each folder in that hierarchy for a folder that has the Calendar, etc. properties, that's the Inbox. That will tell you what you want I think, but to do those operations you would need to be using Outlook 2007 or in earlier versions of Outlook using an alternate API such as Extended MAPI, CDO 1.21 or Redemption (www.dimastr.com/redemption). Then for other folders you fall back to DefaultItemType to get the folder types. You also have to be careful about comparing EntryID's, you can't just test them for string or binary array equality. You should use one of the CompareID's methods using those other API's or Outlook 2007. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007. Reminder Manager, Extended Reminders, Attachment Options. http://www.slovaktech.com/products.htm "ryotyankou via OfficeKB.com" u48591@uwe wrote in message news:96aec03122aa6@uwe... Hi, ken, that's not exactly what i want, DefaultItemType is only show me what kind of item the folder will hold, MailItem, appointment, contact. I want to set the CTreeCtrl item's icon, and this item is a MAPIFolder, so i want to know it's kind, the kind include "inbox, outbox, sent items, deleted items, junk e-mails, drafts." My method not work because the string is not always the same language, my local system(XP pro) is Chinese system, but my hotmail account registered using English info. So the folder names are all in a muddle. Some are English and others are Chinese. This is special case, normally all message store folders in my outlook are Chinese. |
#5
|
|||
|
|||
![]()
The omnly way to do that is to read the MailItem.Parent property which
returns the parent MAPIFolder object. Or you can read the PR_PARENT_ENTRYID MAPI property. -- Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool - "ryotyankou via OfficeKB.com" u48591@uwe wrote in message news:96a564faae503@uwe... I scaned all message store to search folders and add them to a tree with checkbox. user can select what folder to do deal with, i want to set different icon to the tree item. I have icon for inbox, outbox, sent items and so on. So i want to know what kind of MAPIFolder is, for the default message store, it is esay to know this while use GetDefaultFolder, for other message store like hotmail, i tried a way, it worked fine, but when i add hotmail account via outlook connector(from microsoft), it not work any more. My method is: 1. use NameSpace::GetDefaultFolder get the folder. 2. Get name of the default folder and save it to a map. 3. do 1,2 to get other folder string, inbox, outbox(...etc.) 4. for no default message store, check their name if existed in the map, if does, return id will show which kind it is. Hotmail(via outlook connector) is not work, because some string are english, such inbox, sent items, some are local language, such as chinese string of "outbox". Any ideas? If i want to check the folder's(MAPIFolder) type? -- Message posted via http://www.officekb.com |
#6
|
|||
|
|||
![]()
Thank you for your relpy, Dmitry.
For a mail store, to get entry id for folders: Inbox: GetReceiveFolder Outbox: PR_IPM_OUTBOX_ENTRYID Sent: PR_IPM_SENTMAIL_ENTRYID Junk: PR_IPM_WASTEBASKET_ENTRYID // then open PR_IPM_SUBTREE_ENTRYID to get others Draft: PR_IPM_DRAFTS_ENTRYID ... Am i right? But how about the deleted items folder? I couldn't find it in outlook spy. Dmitry Streblechenko wrote: The omnly way to do that is to read the MailItem.Parent property which returns the parent MAPIFolder object. Or you can read the PR_PARENT_ENTRYID MAPI property. I scaned all message store to search folders and add them to a tree with checkbox. user can select what folder to do deal with, i want to set [quoted text clipped - 17 lines] "outbox". Any ideas? If i want to check the folder's(MAPIFolder) type? -- Message posted via OfficeKB.com http://www.officekb.com/Uwe/Forums.a...ddins/200905/1 |
#7
|
|||
|
|||
![]()
I found my errors, correct ones should be:
Inbox: IMsgSto:GetReceiveFolder Outbox: PR_IPM_OUTBOX_ENTRYID Sent: PR_IPM_SENTMAIL_ENTRYID Deleted: PR_IPM_WASTEBASKET_ENTRYID // then open PR_IPM_SUBTREE_ENTRYID to get draft and other like note, appointment, etc. Draft: PR_IPM_DRAFTS_ENTRYID ... Junk: PR_ADDITIONAL_REN_ENTRYIDS, which specify its entry value as 4 will get junk folder. ---------------------------------------------------- My question now changed to: How to do with PR_ADDITONAL_REN_ENTRYIDS to get junk folder, what should i pass in IMAPISession::OpenEntry? -- Message posted via http://www.officekb.com |
#8
|
|||
|
|||
![]()
It's OK now, after search through the internet and many tries, all worked now,
thanks for your help, Dmitry. ryotyankou wrote: I found my errors, correct ones should be: Inbox: IMsgSto:GetReceiveFolder Outbox: PR_IPM_OUTBOX_ENTRYID Sent: PR_IPM_SENTMAIL_ENTRYID Deleted: PR_IPM_WASTEBASKET_ENTRYID // then open PR_IPM_SUBTREE_ENTRYID to get draft and other like note, appointment, etc. Draft: PR_IPM_DRAFTS_ENTRYID ... Junk: PR_ADDITIONAL_REN_ENTRYIDS, which specify its entry value as 4 will get junk folder. ---------------------------------------------------- My question now changed to: How to do with PR_ADDITONAL_REN_ENTRYIDS to get junk folder, what should i pass in IMAPISession::OpenEntry? -- Message posted via OfficeKB.com http://www.officekb.com/Uwe/Forums.a...ddins/200906/1 |
#9
|
|||
|
|||
![]()
Deleted Items: PR_IPM_WASTEBASKET_ENTRYID
(not Junk) -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007. Reminder Manager, Extended Reminders, Attachment Options. http://www.slovaktech.com/products.htm "ryotyankou via OfficeKB.com" u48591@uwe wrote in message news:96e205e77a776@uwe... Thank you for your relpy, Dmitry. For a mail store, to get entry id for folders: Inbox: GetReceiveFolder Outbox: PR_IPM_OUTBOX_ENTRYID Sent: PR_IPM_SENTMAIL_ENTRYID Junk: PR_IPM_WASTEBASKET_ENTRYID // then open PR_IPM_SUBTREE_ENTRYID to get others Draft: PR_IPM_DRAFTS_ENTRYID .. Am i right? But how about the deleted items folder? I couldn't find it in outlook spy. Dmitry Streblechenko wrote: The omnly way to do that is to read the MailItem.Parent property which returns the parent MAPIFolder object. Or you can read the PR_PARENT_ENTRYID MAPI property. I scaned all message store to search folders and add them to a tree with checkbox. user can select what folder to do deal with, i want to set [quoted text clipped - 17 lines] "outbox". Any ideas? If i want to check the folder's(MAPIFolder) type? -- Message posted via OfficeKB.com http://www.officekb.com/Uwe/Forums.a...ddins/200905/1 |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Journal entry fails after moving email message to folder | RobM[_2_] | Outlook - Using Contacts | 0 | December 18th 07 08:11 AM |
Can't tell who posted entry to public folder calendar | TheOptimist | Outlook - Calandaring | 3 | June 20th 07 10:04 PM |
Outgoing mail judge the mail list | [email protected] | Outlook and VBA | 3 | November 2nd 06 08:13 AM |
net folder duplicate calendar entry | Maysville Church of the Nazarene | Outlook - Calandaring | 0 | September 5th 06 05:04 PM |
Outlook should let me link a folder of files to a contact entry. | loweralabamacpa | Outlook - Using Contacts | 0 | June 29th 06 06:35 PM |