Excel VBA: поиск Outlook с параметрами категории и даты - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь создать макрос, который может эффективно выполнять поиск в общем почтовом ящике в Outlook с моей желаемой категорией и датой получения электронного письма.

txtCat будет категории

txtDate, где я буду вводить дату в следующем формате: «мм / дд / гггг»

Private Sub CommandButton1_Click ()

Dim outlookapp
Dim olns As Outlook.Namespace
Dim Fldr As Outlook.MAPIFolder
Dim olMail As Object
Dim myTasks
Dim myrecipient As Outlook.Recipient
Dim dateString As Long
Dim strfilter As String
Set outlookapp = CreateObject("Outlook.Application")
Set olns = outlookapp.GetNamespace("MAPI")
Set myrecipient = olns.CreateRecipient("Cmaintenancesupport2")
myrecipient.Resolve
Dim strCat As String

'txtCat is the category
'txtDate is the date
Set Fldr = olns.GetSharedDefaultFolder(myrecipient, olFolderInbox)

strCat = UserForm1.txtCat.Text

strfilter = "[Categories] = """ & strCat & """"


dateString = CDate(UserForm1.txtDate.Text)

Set myTasks = Fldr.Items.Restrict(strfilter) 'filters the desired category in the SharedDefault Mailbox


Set myTasks = myTasks.Restrict("[ReceivedTime] = '" & Format(dateString, "DDDDD HH:NN") & "'") 'adds another filter by date


For Each olMail In myTasks

olMail.Display

Next



End Sub

Я установил mytasks дважды, так как я просто реструктурирую этот код из предыдущего проекта, который работает (классифицированная электронная почта> фильтр по дням> строка поиска), но почему-то он не показывает мне никаких результатов.

Что должно произойти, это после фильтра категорий, все сообщения электронной почты уже должны быть классифицированы с желаемой датой.

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