Макрос Excel для проверки помеченных писем в outlook - PullRequest
0 голосов
/ 05 февраля 2020

Мне бы хотелось, чтобы следующий макрос Excel копировал данные электронной почты из outlook, и мне удалось заставить его работать с полями отправителя, даты и Темы, однако мне бы хотелось, чтобы отмеченные категории также были добавлены в следующий столбец.

Sub GetFromOutlook()

Dim OutlookApp As Outlook.Application
Dim OutlookNamespace As Namespace
Dim Folder As MAPIFolder
Dim OutlookMail As Variant
Dim i As Integer

Set OutlookApp = New Outlook.Application   
Set OutlookNamespace = OutlookApp.GetNamespace("MAPI")
Set olShareName = OutlookNamespace.CreateRecipient("email_address@shared.mailbox")
Set Folder = OutlookNamespace.GetSharedDefaultFolder(olShareName, olFolderInbox)

i = 1

On Error Resume Next
For Each OutlookMail In Folder.Items
If OutlookMail.ReceivedTime >= Range("From_date").Value Then
    Range("eMail_subject").Offset(i, 0).Value = OutlookMail.Subject
    Range("eMail_date").Offset(i, 0).Value = OutlookMail.ReceivedTime
    Range("eMail_sender").Offset(i, 0).Value = OutlookMail.SenderName
    Range("D" & i).Offset(i, 0).Value = OutlookMail.MailItem.Categories

    i = i + 1
End If
Next OutlookMail

Set Folder = Nothing
Set OutlookNamespace = Nothing
Set OutlookApp = Nothing

End Sub

Он проверяет дату, хранящуюся в ячейке, и на основе этого копирует упомянутые данные, что работает нормально, пока я не попытаюсь скопировать категории. Одно электронное письмо может иметь несколько категорий. Я пытался сделать таким образом Range("D" & i).Offset(i, 0).Value = OutlookMail.MailItem.Categories или просто mailItem.Categories, но безуспешно. Что я здесь не так делаю?

Кроме того, как я могу убедиться, что проверяются все подпапки папки входящих сообщений?

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