'Outlook attachment names in DASL
I am trying to get a list of attachments in the Outlook table.
I have tried below code. It throws an error. Any help is much appreciated as I am new to DASL queries
strFilter = "@SQL=" & "urn:schemas:httpmail:datereceived" &
" >= '" & Me.FrmDate.ToString & "' AND " &
"urn:schemas:httpmail:datereceived" &
" <= '" & Me.ToDate.ToString & "'"
'Do search and obtain Table on Inbox
Dim oT As Outlook.Table = eFolder.GetTable(strFilter) 'PLEASE IGNORE eFolder as it is declared earlier in the code
oT.Sort("[SentOn]", True)
With oT.Columns
.Add("SenderName")
.Add("Subject")
.Add("urn:schemas:httpmail:textdescription")
.Add("Attachments")
End With
Solution 1:[1]
As a general rule, you cannot retrieve the sub-object (recipient and attachment) properties from a folder contents table. You may or may not be able to retrieve the recipient names (since they are exposed as PR_DISPLAY_TO
/ PR_DISPLAY_CC
/ PR_DISPLAY_BCC
properties), but there is nothing like that for the attachments.
The best you can do is filter the list down to only the items with attachments - use PR_HASATTACH
(DASL name http://schemas.microsoft.com/mapi/proptag/0x0E1B000B
) MAPI property - and then loop through the returned items and process their Attachments
collection.
On the Extended MAPI level (C++ or Delphi only), you can create sub-restrictions on the message recipients and attachments using the PR_MESSAGE_ATTACHMENTS
and PR_MESSAGE_RECIPIENTS
properties, but OOM does not expose these at all. If using Redemption (I am its author) is an option, its versions of RDOFolder.Items.Find
/Restrict
and MAPITable.ExecSQL allow to specify Recipients
/To
/CC
/BCC
/Attachments
properties in the queries, but only in a WHERE
clause.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 |