IN THE SPOTLIGHT: MDE to MDB Conversion Service
(also supports: ACCDE to ACCDB, ADE to ADP, etc)
IN THE SPOTLIGHT: Access Database Repair Service
An in-depth repair service for corrupt Microsoft Access files
IN THE SPOTLIGHT: vbWatchdog
VBA error handling just got easier...
" vbWatchdog is off the chart. It solves a long standing problem of how to consolidate error handling into one global location and avoid repetitious code within applications. "
- Joe Anderson,
Microsoft Access MVP
Meet Shady, the vbWatchdog mascot watching over your VBA code →
(courtesy of Crystal Long, Microsoft Access MVP)
IN THE SPOTLIGHT: vbMAPI
An Outlook / MAPI code library for VBA, .NET and C# projects
Get emails out to your customers reliably, and without hassle, every single time.
Use vbMAPI alongside Microsoft Outlook to add professional emailing capabilities to your projects.
IN THE SPOTLIGHT: Code Protector
Standard compilation to MDE/ACCDE format is flawed and reversible.
Equivalent MAPI object: IMessage
Equivalent Outlook Redemption object: Redemption.SafeMailItem
Equivalent Outlook Object Model object: Outlook.MailItem
Parent: vbMAPI_FolderItems
This object is a wrapper for the MAPI IMessage object. To create a new object of type vbMAPI_MailItem, use the vbMAPI_FolderItems Add method. To open an existing object, use the vbMAPI_FolderItems Item method.
Property Get Properties() As vbMAPI_Properties
Exposes a collection of the MAPI properties set on this message. The default member of the vbMAPI_Properties class is Item, therefore in VB you can call vbMAPI_MailItem.Properties(PropTag) directly.
Property Get NamedProperties(ByVal PropertySetGUID As String, _
ByVal ID As Variant, _
ByVal DataType As EnumMAPIPropDataTypes) As vbMAPI_Property
Provides access to MAPI named properties for this MailItem.
PropertySetGUID: A string representation of the property set GUID (e.g. )
ID: The name (string) or property identifier (integer) representing the property to query from the property set.
DataType: The MAPI data type of the property.
Property Get Recipients() As vbMAPI_Recipients
Property Let Recipients(ByVal InRecipients As vbMAPI_Recipients)
Provides a collection of recipient objects associated with this message.
You can copy whole collections between objects by assigning the Recipients property to another vbMAPI_Recipients collection.
Property Get Attachments() As vbMAPI_Attachments
Provides a collection of attachment objects.
Sub Save()
Saves any modifications made to the current message.
Sub Send()
Submits the message to the message store for sending. Implicit saving of recipients, attachments and the message itself occurs before sending.
Property Get RTFBody() As vbMAPI_EncodedBody
Returns/sets the RTF version of the body for this message. Can be derived from HTML/PlainText if not supported by the message store, or if explicitly requested using the Source parameter.
The default member of the vbMAPI_EncodedBody class is the Value property, therefore you can ignore the vbMAPI_EncodedBody class and treat this property as a string.
Property Get HTMLBody() As vbMAPI_EncodedBody
Returns/sets the HTML version of the body for this message. Can be derived from RTF/PlainText if not supported by the message store, or if explicitly requested using the Source parameter.
The default member of the vbMAPI_EncodedBody class is the Value property, therefore you can ignore the vbMAPI_EncodedBody class and treat this property as a string.
Property Get Body() As vbMAPI_EncodedBody
Returns/sets the plain text version of the body for this message. Can be derived from HTML/RTF if not supported by the message store, or if explicitly requested using the Source parameter.
The default member of the vbMAPI_EncodedBody class is the Value property, therefore you can ignore the vbMAPI_EncodedBody class and treat this property as a string.
Property Get BodyFormat() As EnumEncodedBodyFormat
Returns the type of body format that is stored in this message. (BodyFormat_PlainText / BodyFormat_HTML / BodyFormat_RTF).
Property Get SendAccount() As vbMAPI_Account
Returns the Outlook account associated with this message (Outlook 2003+).
Property Get SendAccountStamp() As String
Property Let SendAccountStamp(ByVal Value As String)
Returns/sets the Outlook account (by vbMAPI_Account::SendStamp) that will be used for sending the message (Outlook 2003+).
Property Get SendAccountName() As String
Property Let SendAccountName(ByVal AccountName As String)
Returns/sets the Outlook account (by vbMAPI_Account::Name) that will be used for sending the message (Outlook 2003+).
Property Get To() As String
Property Let To(ByVal StringList As String)
Returns/sets a delimited list of recipients on this item (type MAPI_TO).
Property Get CC() As String
Property Let CC(ByVal StringList As String)
Returns/sets a delimited list of recipients on this item (type MAPI_CC).
Property Get BCC() As String
Property Let BCC(ByVal StringList As String)
Returns/sets a delimited list of recipients on this item (type MAPI_BCC).
Property Get SaveSentMessageFolderEntryID() As String
Property Let SaveSentMessageFolderEntryID(ByVal RetVal As String)
Returns/sets the EntryID of the vbMAPI_Folder where the message will be moved to once it has been sent.
Property Get InternetMessageHeaders() As String
Returns the value of the MAPI property PR_TRANSPORT_MESSAGE_HEADERS from this message.
Property Get AlternateRecipientAllowed() As Boolean
Property Let AlternateRecipientAllowed(ByVal RetVal As Boolean)
Returns/sets the value of the MAPI property PR_ALTERNATE_RECIPIENT_ALLOWED from this message.
Property Get AutoForwarded() As Boolean
Property Let AutoForwarded(ByVal RetVal As Boolean)
Returns/sets the value of the MAPI property PR_AUTO_FORWARDED from this message.
Property Get ConversationIndex() As Variant
Property Let ConversationIndex(ByVal RetVal As Variant)
Returns/sets the value of the MAPI property PR_CONVERSATION_INDEX from this message.
Property Get ConversationTopic() As String
Property Let ConversationTopic(ByVal RetVal As String)
Returns/sets the value of the MAPI property PR_CONVERSATION_TOPIC from this message.
Property Get CreationTime() As Date
Returns the value of the MAPI property PR_CREATION_TIME from this message.
Property Get DeferredDeliveryTime() As Date
Returns the value of the MAPI property PR_DEFERRED_DELIVERY_TIME from this message.
Property Get DeleteAfterSubmit() As Boolean
Property Let DeleteAfterSubmit(ByVal RetVal As Boolean)
Returns/sets the value of the MAPI property PR_DELETE_AFTER_SUBMIT from this message.
Property Get EntryID() As String
Returns the value of the MAPI property PR_ENTRYID from this message.
Property Get ExpiryTime() As Date
Property Let ExpiryTime(ByVal RetVal As Date)
Returns/sets the value of the MAPI property PR_EXPIRY_TIME from this message.
Property Get FlagIcon() As EnumFlagIcon
Property Let FlagIcon(ByVal RetVal As EnumFlagIcon)
Returns/sets the value of the MAPI property PR_FLAG_ICON from this message.
Property Get Importance() As EnumImportance
Property Let Importance(ByVal RetVal As EnumImportance)
Returns/sets the value of the MAPI property PR_IMPORTANCE from this message.
Property Get FlagStatus() As EnumFlagStatus
Property Let FlagStatus(ByVal RetVal As EnumFlagStatus)
Returns/sets the value of the MAPI property PR_FLAG_STATUS from this message.
Property Get InternetCodepage() As Long
Property Let InternetCodepage(ByVal RetVal As Long)
Returns/sets the value of the MAPI property PR_INTERNET_CPID from this message.
Property Get LastModificationTime() As Date
Returns the value of the MAPI property PR_LAST_MODIFICATION_TIME from this message.
Property Get MessageClass() As String
Property Let MessageClass(ByVal RetVal As String)
Returns/sets the value of the MAPI property PR_MESSAGE_CLASS from this message.
Property Get OriginatorDeliveryReportRequested() As Boolean
Property Let OriginatorDeliveryReportRequested(ByVal RetVal As Boolean)
Returns/sets the value of the MAPI property PR_ORIGINATOR_DELIVERY_REPORT_REQUESTED from this message.
Property Get ParentEntryID() As String
Returns the value of the MAPI property PR_PARENT_ENTRYID from this message.
Property Get StoreEntryID() As String
Returns the value of the MAPI property PR_STORE_ENTRYID from this message.
Property Get ReadReceiptRequested() As Boolean
Property Let ReadReceiptRequested(ByVal RetVal As Boolean)
Returns/sets the value of the MAPI property PR_READ_RECEIPT_REQUESTED from this message.
Property Get ReceivedByEntryID() As String
Returns the value of the MAPI property PR_RECEIVED_BY_ENTRYID from this message.
Property Get ReceivedByName() As String
Returns the value of the MAPI property PR_RECEIVED_BY_NAME from this message.
Property Get ReceivedOnBehalfOfEntryID() As String
Returns the value of the MAPI property PR_RCVD_REPRESENTING_ENTRYID from this message.
Property Get ReceivedOnBehalfOfName() As String
Returns the value of the MAPI property PR_RCVD_REPRESENTING_NAME from this message.
Property Get ReceivedTime() As Date
Property Let ReceivedTime(ByVal RetVal As Date)
Returns/sets the value of the MAPI property PR_MESSAGE_DELIVERY_TIME from this message.
Property Get RecipientReassignmentProhibited() As Boolean
Property Let RecipientReassignmentProhibited(ByVal RetVal As Boolean)
Returns/sets the value of the MAPI property PR_RECIPIENT_REASSIGNMENT_PROHIBITED from this message.
Property Get ReplyRecipientNames() As String
Returns the value of the MAPI property PR_RCVD_REPRESENTING_NAME from this message.
Property Get SenderEmailAddress() As String
Property Let SenderEmailAddress(ByVal RetVal As String)
Returns the value of the MAPI property PR_SENDER_EMAIL_ADDRESS from this message.
Property Get SenderEmailType() As String
Property Let SenderEmailType(ByVal RetVal As String)
Returns the value of the MAPI property PR_SENDER_ADDRTYPE from this message.
Property Get SenderName() As String
Property Let SenderName(ByVal RetVal As String)
Returns the value of the MAPI property PR_SENDER_NAME from this message.
Property Get Sensitivity() As EnumSensitivity
Property Let Sensitivity(ByVal RetVal As EnumSensitivity)
Returns/sets the value of the MAPI property PR_SENSITIVITY from this message.
Property Get SentOn() As Date
Property Let SentOn(ByVal RetVal As Date)
Returns/sets the value of the MAPI property PR_CLIENT_SUBMIT_TIME from this message.
Property Get SentOnBehalfOfName() As String
Property Let SentOnBehalfOfName(ByVal RetVal As String)
Returns/sets the value of the MAPI property PR_SENT_REPRESENTING_NAME from this message.
Property Get SentOnBehalfOfEntryID() As String
Property Let SentOnBehalfOfEntryID(ByVal RetVal As String)
Returns the value of the MAPI property PR_SENT_REPRESENTING_ENTRYID from this message.
Property Get SentOnBehalfOfSearchKey() As String
Property Let SentOnBehalfOfSearchKey(ByVal RetVal As String)
Returns the value of the MAPI property PR_SENT_REPRESENTING_SEARCH_KEY from this message.
Property Get SentOnBehalfOfEmailAddress() As String
Property Let SentOnBehalfOfEmailAddress(ByVal RetVal As String)
Returns the value of the MAPI property PR_SENT_REPRESENTING_EMAIL_ADDRESS from this message.
Property Get SentOnBehalfOfAddressType() As String
Property Let SentOnBehalfOfAddressType(ByVal RetVal As String)
Returns the value of the MAPI property PR_SENT_REPRESENTING_ADDRTYPE from this message.
Property Get Size() As Long
Returns the value of the MAPI property PR_MESSAGE_SIZE from this message.
Property Get Subject() As String
Property Let Subject(ByVal RetVal As String)
Returns/sets the value of the MAPI property PR_SUBJECT from this message.
Property Get SenderEntryID() As String
Property Let SenderEntryID(ByVal RetVal As String)
Returns the value of the MAPI property PR_SENDER_ENTRYID from this message.
Property Get SenderSearchKey() As String
Property Let SenderSearchKey(ByVal RetVal As String)
Returns the value of the MAPI property PR_SENDER_SEARCH_KEY from this message.
Property Get SearchKey() As String
Returns the value of the MAPI property PR_SEARCH_KEY from this message.
Property Get ReadReceiptEntryID() As String
Property Let ReadReceiptEntryID(ByVal RetVal As String)
Returns the value of the MAPI property PR_READ_RECEIPT_ENTRYID from this message.
Property Get MessageFlags() As Long
Property Let MessageFlags(ByVal RetVal As Long)
Returns/sets the value of the MAPI property PR_MESSAGE_FLAGS from this message.
Property Get BillingInformation() As String
Property Let BillingInformation(ByVal Value As String)
Returns/sets the BillingInformation Outlook property.
Property Get OutlookInternalVersion() As Long
Property Let OutlookInternalVersion(ByVal Value As Long)
Returns/sets the OutlookInternalVersion Outlook property.
Property Get HidePaperClip() As Boolean
Property Let HidePaperClip(ByVal Value As Boolean)
Returns/sets the HidePaperClip Outlook property.
Property Get Mileage() As String
Property Let Mileage(ByVal Value As String)
Returns/sets the Mileage Outlook property.
Property Get NoAging() As Boolean
Property Let NoAging(ByVal Value As Boolean)
Returns/sets the NoAging Outlook property.
Property Get OutlookVersion() As String
Property Let OutlookVersion(ByVal Value As String)
Returns/sets the OutlookVersion Outlook property.
Property Get UseTnef() As Boolean
Property Let UseTnef(ByVal Value As Boolean)
Returns/sets the UseTnef Outlook property.
Property Get DownloadState() As EnumDownloadState
Retrieves the download state of the message (fully downloaded or header only).
Property Get UnRead() As Boolean
Property Let UnRead(ByVal Value As Boolean)
Returns/sets the read/unread status of the message.
Property Get Submitted() As Boolean
Property Let Submitted(ByVal Value As Boolean)
Returns/sets the submitted status of the message. Only updatable if message not yet saved.
Property Get Sent() As Boolean
Property Let Sent(ByVal Value As Boolean)
Returns/sets the sent status of the message. Only updatable if message not yet saved.
Property Get MAPIOBJECT() As Variant
Returns the IMessage object associated with this item.
Sub Display(Optional ByVal Modal As Boolean = True, _
Optional ByVal ParentWindowHandle As Long)
Opens the MAPI form associated with this message (usually for end user editing).
Sub PrintOut()
Prints the MAPI form associated with this message.
Property Get Sender() As vbMAPI_AddressEntry
Returns the sender as an vbMAPI_AddressEntry object (as represented by the PR_SENDER_ENTRYID MAPI property).
Property Get SentOnBehalfOf() As vbMAPI_AddressEntry
Returns the SentOnBehalfOf as an vbMAPI_AddressEntry object (as represented by the PR_SENT_REPRESENTING MAPI property).
Property Get Session() As vbMAPI_Session
Returns the session object associated with this object.
Property Get Store() As vbMAPI_Store
Returns the store object associated with this object.
Property Get Parent() As vbMAPI_Folder
Returns the parent folder object associated with this object.
Sub Delete(Optional ByVal DeleteType As EnumDeleteType = DeleteType_MoveToDeletedItems)
Deletes the current message. Use DeleteType parameter to specify whether the message moves to the deleted items folder or not.
Function Move(ByVal DestFolder As vbMAPI_Folder, _
Optional ByVal ImplicitSave As Boolean = True) As vbMAPI_MailItem
Moves the current message into another folder and returns an object representing the new message. The current message is invalid after the call.
Function Copy(ByVal DestFolder As vbMAPI_Folder, _
Optional ByVal ImplicitSave As Boolean = True) As vbMAPI_MailItem
Copies the current message into another folder and returns an object representing the new message. The current message is still valid after the call.
Sub SaveAs(ByVal FilePath As String, _
Optional ByVal FileFormat As EnumMessageFileFormat = FileFormat_MSG)
Saves the current message to a file on disk. Only MSG file formats currently supported.
Sub AbortSubmit()
Cancels a previously sent mail item, assuming it is still in the queue.
Sub MarkRead(Optional ByVal SuppressReadReceipt As Boolean = True)
Sets UnRead to false. Allows you to suppress the generation of automatic read-receipts.
Function Reply() As vbMAPI_MailItem
Returns a new message object.
Function ReplyAll() As vbMAPI_MailItem
Returns a new message object.
Function Forward() As vbMAPI_MailItem
Returns a new message object.
DeleteType_MoveToDeletedItems = &H0
DeleteType_SoftDelete = &H1
DeleteType_HardDelete = &H2
FlagIcon_NoFlagIcon = &H0
FlagIcon_PurpleFlagIcon = &H1
FlagIcon_OrangeFlagIcon = &H2
FlagIcon_GreenFlagIcon = &H3
FlagIcon_YellowFlagIcon = &H4
FlagIcon_BlueFlagIcon = &H5
FlagIcon_RedFlagIcon = &H6
FlagStatus_NoFlag = &H0
FlagStatus_FlagComplete = &H1
FlagStatus_FlagMarked = &H2
Importance_Low = &H0
Importance_Normal = &H1
Importance_High = &H2
Sensitivity_Normal = &H0
Sensitivity_Personal = &H1
Sensitivity_Private = &H2
Sensitivity_Confidential = &H3
Recipient_TO = &H1
Recipient_CC = &H2
Recipient_BCC = &H3
FileFormat_MSG = &H3
FileFormat_MSGUnicode = &H9
DownloadState_FullItem = &H1
DownloadState_HeaderOnly = &H0
BusyStatus_Free = &H0
BusyStatus_Tentative = &H1
BusyStatus_Busy = &H2
BusyStatus_OutOfOffice = &H3
iTech Masters | VAT: GB202994606 | Terms | Sitemap | Newsletter