Извлечение информации из перспективы, чтобы преуспеть - PullRequest
0 голосов
/ 25 октября 2019

У меня есть код, над которым я работаю, и который дает мне информацию об отправителе, строке темы и дате. Однако есть ли способ также получить информацию из строки TO (имя и адрес электронной почты).

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 Folder = OutlookNamespace.GetDefaultFolder(olFolderInbox).Folders("Mail").Folders("Test")

    I = 1

    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("eMail_text").Offset(I, 0).Value = OutlookMail.Body

            I = I + 1
    End If
    Next OutlookMail

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

End Sub

1 Ответ

0 голосов
/ 27 октября 2019

Перебрать всех получателей в коллекции MailItem.Recipients. Если вам нужны только получатели, проверьте свойство Recipient.Type - это может быть olTo, olCC, olBCC

for each recip in OutlookMail .Recipients
  if recip.Type = olTo Then
     MsgBox recip.Name & ": " & recip.Address
  End If
next

В качестве идентификатора условие If OutlookMail.ReceivedTime >= Range("From_date").Value никогда не будет выполнено - вы не можете использовать сравнение на равенстводля значений даты и времени вы используете только диапазон: (value < const1) and (value > const2)

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