Имена вложений в Outlook в DASL - PullRequest
0 голосов
/ 12 марта 2019

Я пытаюсь получить список вложений в таблице Outlook.

Я попробовал приведенный ниже код. Выдает ошибку. Любая помощь очень ценится, поскольку я новичок в запросах DASL

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

1 Ответ

1 голос
/ 12 марта 2019

Как правило, вы не можете получить свойства подобъекта (получателя и вложения) из таблицы содержимого папки.Вы можете или не можете получить имена получателей (так как они выставлены как PR_DISPLAY_TO / PR_DISPLAY_CC / PR_DISPLAY_BCC свойства), но нет ничего похожего на вложения.

Лучший из васможно отфильтровать список до элементов с вложениями - используйте свойство MAPI PR_HASATTACH (имя DASL http://schemas.microsoft.com/mapi/proptag/0x0E1B000B), а затем перебрать возвращенные элементы и обработать их коллекцию Attachments.

Вкл.на расширенном уровне MAPI (только C ++ или Delphi) вы можете создавать под-ограничения для получателей и вложений сообщений, используя свойства PR_MESSAGE_ATTACHMENTS и PR_MESSAGE_RECIPIENTS, но OOM не раскрывает их вообще.Если опция Redemption является опцией, ее версии RDOFolder . Items . Find / Restrict и MAPITable.ExecSQL allowуказать Recipients / To / CC / BCC / Attachments свойства в запросах, но только в предложении WHERE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...