RDOStores collection represents the
message stores list in a given profile.
The example below logs to the default
MAPI session and prints out the file names of the PST stores and Server
Distinguished Names for the Exchange stores
|
Derived from:
IDispatch
|
|
Properties |
|
Count |
integer. Returns the number
of stores in the profile |
set Session =
CreateObject("Redemption.RDOSession")
Session.Logon
MsgBox Session.Stores.Count |
DefaultStore |
RDOStore, read/write.
Returns/sets the default store |
set Session =
CreateObject("Redemption.RDOSession")
Session.Logon
MsgBox "The name of the default store is" & vbCrLf &
Session.Stores.DefaultStore.Name |
_Item(Index) |
Index - variant:
integer or a string. A default object property
Retrieves a store with a give
index (1 to Count) or a given name
Returns
RDOStore object |
set Session =
CreateObject("Redemption.RDOSession")
Session.Logon
Set Store = Session.Stores("Personal Folders")
MsgBox Store.Name |
|
Methods |
|
Item(Index, OpenFlags) |
Retrieves a store with a give
index (1 to Count) or a given name.
Index - variant:
integer or a string.
OpenFlags -
(optional). integer; flags to be used to call IMAPISession::OpenMsgStore.
By default MAPI_BEST_ACCESS (0x10) is used. This parameter is most
useful if you need to bypass the cached mode in Outlook 2003. E.g.
passing MDB_ONLINE(0x100) + MAPI_BEST_ACCESS (0x10) will open the
store in the best access mode bypassing the cached store.
Returns
RDOStore object |
|
AddPSTStore(Path,
Format, DisplayName) |
Adds a PST store to the given
profile. Returns an RDOStore object.
Path - string, path to
the PST file. If the file does not exist, a new PST store will be
created.
Format - integer,
optional. The format of the PST file if a new store is to be created.
Can be one of the rdoStoreType enums: olStoreDefault (1), olStoreUnicode (2), olStoreANSI (3).
DisplayName - string,
optional. The display name of the store if one is to be created. |
set Session =
CreateObject("Redemption.RDOSession")
'use the MAPI session from
Outlook Object Model
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set Store = Session.Stores.AddPSTStore("c:\temp\test.pst", 1, "Test
Store")
MsgBox Store.Name |
AddPstStoreWithPassword
(Path,
Format, DisplayName, Password, RememberPassword, Encryption) |
Adds a PST store to the given
profile and allows to (optionally) pass the value of the password (both
for the existing and new PST files) and the encryption level (for new
PST files only). Returns an RDOStore object.
Path - string, path to
the PST file. If the file does not exist, a new PST store will be
created.
Format - integer,
optional. The format of the PST file if a new store is to be created.
Can be one of the rdoStoreType enums: olStoreDefault (1), olStoreUnicode (2), olStoreANSI
(3).
DisplayName - string,
optional. The display name of the store if one is to be created.
Password - string, optional. The PST file pssword.
RememberPassword -
boolean, optional. If TRUE, MAPI will remember the password.
Encryption - one of
the rdoPstEncryption enums, optional. Specifies the encryption level to
be used when creating a new PST file.
psteCompressableEncryption
(1)
psteBestEncryption (2)
psteNoEncryption (0)
|
|
AddDelegateExchangeMailBoxStore(UserNameOrAddress) |
Adds a delegate Exchange
store to the given profile. Returns an RDOStore
object. This method provides the same functionality as "Open This
Additional Mailboxes" list on the Advanced tab of the Exchange Service
Provider options dialog box.
UserNameOrAddress-
string, name or address of an Exchnage mailbox, e.g. "Joe User" or "joe@mydomain.com".
Returns
RDOStore object.
|
set Session =
CreateObject("Redemption.RDOSession")
'use the MAPI session from Outlook Object Model
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
Session.Stores.AddDelegateExchangeMailBoxStore "dmitry" |
FindExchangePublicFoldersStore |
Returns the Public Folders
store
|
|
GetDisplayOrder |
Returns
RDOStoresDisplayOrderList collection, representing the order in which
Outlook displays the stores.
|
|
GetSharedDefaultFolder(NameOrAddressOrObject,
FolderType) |
NameOrAddressOrObject
- can be a string representing the Exchange mailbox name or address or
an RDOAddressEntry or an
RDORecipient object.
FolderType - integer.
The type of the folder. Accepts the same values as
Namespace.GetDefaultFolder method in Outlook Object Model (olFolderInbox,
olFolderContacts, etc).
Returns
RDOFolder object.
|
set Session =
CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set Folder = Session.GetSharedDefaultFolder("dmitry", olFolderCalendar)
for each Msg in Folder.Items
Debug.Print(Msg.Subject)
next |
GetDefaultFolder(FolderType) |
FolderType - integer.
The type of default folder to return. Accepts the same values as
Namespace.GetDefaultFolder method in Outlook Object Model (olFolderInbox,
olFolderContacts, etc).
Returns
RDOFolder object. |
set Session =
CreateObject("Redemption.RDOSession")
Session.Logon
set Inbox = Session.GetDefaultFolder(olFolderInbox)
for each Msg in Inbox.Items
Debug.Print(Msg.Subject)
next |
GetSharedMailbox(NameOrAddressOrObject) |
Returns
RDOStore object representing the given user's
mailbox.
NameOrAddressOrObject - can be a string representing the Exchange
mailbox name or address or an
RDOAddressEntry or an RDORecipient object.
|
set Session =
CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set Store = Session.GetSharedMailbox("dmitry")
MsgBox "The address of the
mailbox owner: " & Store.Owner.Address |
GetSharedMailboxEx (NameOrAddressOrObject,
EntryIDFlags, OpenStoreFlags)
|
Returns
IRDOExchangeStore object representing the given user's
mailbox. Similar to GetSharedMailbox,
but allows to provide various flags used when creating the store entry
id (use Admin privilege etc) and opening the store.
NameOrAddressOrObject - can be a string representing the Exchange
mailbox name or address or an
RDOAddressEntry or an RDORecipient object.
EntryIDFlags - a combination of rdoCreateStoreEntryIDFlags enums
(see below). GetSharedMailbox method uses OPENSTORE_HOME_LOGON |
OPENSTORE_TAKE_OWNERSHIP.
OPENSTORE_USE_ADMIN_PRIVILEGE
(0x00000001)
OPENSTORE_PUBLIC (0x00000002)
OPENSTORE_HOME_LOGON (0x00000004)
OPENSTORE_TAKE_OWNERSHIP (0x00000008)
OPENSTORE_OVERRIDE_HOME_MDB (0x00000010)
OPENSTORE_TRANSPORT (0x00000020)
OPENSTORE_REMOTE_TRANSPORT (0x00000040)
OPENSTORE_INTERNET_ANONYMOUS (0x00000080)
OPENSTORE_ALTERNATE_SERVER (0x00000100)
OPENSTORE_IGNORE_HOME_MDB (0x00000200)
OPENSTORE_NO_MAIL (0x00000400)
OPENSTORE_OVERRIDE_LAST_MODIFIER (0x00000800)
OPENSTORE_CALLBACK_LOGON (0x00001000)
OPENSTORE_LOCAL (0x00002000)
OPENSTORE_FAIL_IF_NO_MAILBOX (0x00004000)
OPENSTORE_CACHE_EXCHANGE (0x00008000)
OPENSTORE_CLI_WITH_NAMEDPROP_FIX (0x00010000)
OPENSTORE_ENABLE_LAZY_LOGGING (0x00020000)
OPENSTORE_CLI_WITH_REPLID_GUID_MAPPING_FIX (0x00040000)
OPENSTORE_NO_LOCALIZATION (0x00080000)
OPENSTORE_RESTORE_DATABASE (0x00100000)
OPENSTORE_XFOREST_MOVE (0x00200000)
OpenStoreFlags- flags
to be used when calling IMAPISession::OpenMsgStore. GetSharedMailbox
method uses MDB_NO_DIALOG | MAPI_BEST_ACCESS | MDB_TEMPORARY |
MDB_NO_MAIL.
|
|
GetArchiveMailbox
(NameOrAddressOrObject,
EntryIDFlags, OpenStoreFlags)
|
Returns
IRDOExchangeStore object representing the given user's
archive mailbox (Exchange 2010 or newer only)
NameOrAddressOrObject - can be a string representing the Exchange
mailbox name or address or an
RDOAddressEntry or an RDORecipient object.
EntryIDFlags - Optional, variant. A combination of rdoCreateStoreEntryIDFlags enums
(see GetSharedMailboxEx above). If not specified,
OPENSTORE_HOME_LOGON | OPENSTORE_TAKE_OWNERSHIP are used.
OpenStoreFlags-
Optional, variant. Flags
to be used when calling IMAPISession::OpenMsgStore.
(see GetSharedMailboxEx above) If not specified,
MDB_NO_DIALOG | MAPI_BEST_ACCESS | MDB_TEMPORARY | MDB_NO_MAIL are used.
|
set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set AddressEntry = Session.CurrentUser
set ArchiveStore = Session.Stores.GetArchiveMailbox(AddressEntry)
for each fld in ArchiveStore.IPMRootFolder.Folders
Debug.Print fld.Name
next
|
GetStoreFromID(EntryIDStore,
Flags) |
EntryIDStore - string
representing the entry id of the store.
Flags - (optional). integer flags to be used to call
IMAPISession::OpenMsgStore. By default MAPI_BEST_ACCESS (0x10) is used.
This parameter is most useful if you need to bypass the cached mode in
Outlook 2003. E.g. passing MDB_ONLINE(0x100) + MAPI_BEST_ACCESS
(0x10) will open the store in the best access mode bypassing the cached
store. Returns
RDOStore object.
|
'using RDO along with the
Outlook Object Model
'connect to the same MAPI session as the one used by Outlook
'and open the parent store of the given Outlook.MAPIFolder object as
'Redemption.RDOStore
set Session =
CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set Store = Session.GetStoreFromID(MAPIFolder.StoreID)
MsgBox Store.Name |
UnwrapStore(Store) |
IMAP4 (and some other) stores are wrappers on top of the PST stores.
Accessing messages in such stores can trigger sync with the remote
server. If you want to access only locally available objects in
the store, call UnwrapStore to return the original
store object that does not trigger the sync.
Store -
RDOStore. The original store to be unwrapped.
If the store is not wrapped, the original store object is returned.
Returns (unwrapped)
RDOStore object. |
set Session = CreateObject("Redemption.RDOSession")
Session.Logon
set Stores = Session.Stores
for each Store in Stores
set UnwrappedStore = Stores.UnwrapStore(Store)
Debug.Print "-- " & UnwrappedStore.Name & " --"
set Inbox = UnwrappedStore.GetDefaultFolder(olFolderInbox)
for each Msg in Inbox.Items
Debug.Print " " & Msg.Subject
next
next |
|
|
Events: |
|
StoreChange(Store) |
Fires when a store is
modified.
Store -
RDOStore object |
|
StoreAdd(Store) |
Fires when a new store is
added to the list of stores in the current MAPI session.
Store -
RDOStore object |
Dim WithEvents Stores As
Redemption.RDOStores
...
Set Session = New
Redemption.RDOSession
Session.Logon
Set Stores = Session.Stores
...
Sub Stores_StoreAdd(ByVal
Store As RDOStore)
MsgBox "New store added: " & Store.Name
End Sub |
StoreRemove(InstanceKey) |
Fires when a store is
removed from the list of stores.
By the time this asynchronous even is fired, the store is already
deleted, hence no entry id is available.
InstanceKey - a hex
value of the PR_INSTANCE_KEY property of the deleted table row. Note
that PR_INSTANCE_KEY is not available from the store itself, only from
the MAPI table (see MAPITable property). InstanceKey is only guaranteed
to be the same for the same instance of the table, hence this event is
useful only if the value of PR_INSTANCE_KEY was previously cached. |
|
CollectionModified |
Fires when the stores table is modified and the MAPI
cannot provide more detailed information about the
change, e.g. when too many stores were modified at the same time.
When the event fires, it must
be assumed that the entire contents of the collection are no longer
valid. |
|
|
|
|
|
|
|
|