Убедитесь, что выбранный почтовый элемент находится в определенной папке - PullRequest
0 голосов
/ 09 июня 2018

Я пытаюсь встроить небольшую проверку, которая подтверждает, что мой выбранный почтовый элемент находится в определенной папке (в данном случае в папке «Входящие»), прежде чем выполнить оставшуюся часть кода для сохранения электронной почты.

Что-то вроде:

If Not Application.ActiveExplorer.Selection = .Folder(olFolderInbox)
MsgBox Currently selected email is not in the inbox! Item skipped.", 1, "Mail Item Selection Error"
Else
End If

Или изменить мой текущий код на:

For Each oMail In Application.ActiveExplorer.Selection And Inside .Folder(olFolderInbox)
//Rest of code here

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

Ответы [ 2 ]

0 голосов
/ 09 июня 2018

Не сравнивайте указатели - это не сработает.Сравните идентификаторы записей, используя Namespace.CompareEntryIDs

If Not ns.CompareEntryIDs(ActiveExplorer.CurrentFolder.EntryID, objFolder.EntryID) Then
  ...
0 голосов
/ 09 июня 2018

Похоже, что я, возможно, ответил на свой вопрос, но я оставлю это здесь на случай, если кто-нибудь когда-нибудь пойдет по моим стопам.

Dim objFolder As Folder
Set objFolder = ns.GetDefaultFolder(olFolderInbox)


If Not ActiveExplorer.CurrentFolder = objFolder Then
    MsgBox "Currently selected email is not in the inbox! Item not saved.", 1, "Mail Item Selection Error"
    Exit Sub
    Else
 End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...