(1) Вам необходимо обработать событие NewMailEx
класса Application, которое запускается при получении нового элемента в папке «Входящие».Событие NewMailEx
возникает, когда новое сообщение поступает в папку «Входящие» и до обработки правила клиента.Вы можете использовать идентификатор записи, возвращенный в массиве EntryIDCollection
, чтобы вызвать метод NameSpace.GetItemFromID и обработать элемент.Используйте этот метод с осторожностью, чтобы минимизировать влияние на производительность Outlook.Однако, в зависимости от настроек на клиентском компьютере, после поступления нового сообщения в папку «Входящие» такие процессы, как фильтрация нежелательной почты и правила клиента, которые перемещают новое сообщение из папки «Входящие» в другую папку, могут происходить асинхронно.Не следует предполагать, что после возникновения этих событий вы всегда получите увеличение количества элементов в папке «Входящие» на один элемент.
(2) Похоже, вы уже знаете, как получить подпапкуВходящие:
Set objWatchFolder = objNS.GetDefaultFolder(olFolderInbox).Folders("temp1")
(3) Чтобы найти предметы с тем же предметом, вам необходимо использовать методы Найти / FindNext или Ограничить класса Items
вместо перебора всех элементов в папке.Подробнее об этих методах читайте в следующих статьях:
Также, если вам нужно найти элементы в нескольких папках, вы можете найти AdvancedSearch метод класса Application полезно.Ключевые преимущества использования метода AdvancedSearch
в Outlook:
- Поиск выполняется в другой теме.Вам не нужно запускать другой поток вручную, поскольку метод
AdvancedSearch
запускает его автоматически в фоновом режиме. - Возможность поиска любых типов элементов: почта, встреча, календарь, заметки и т. Д. В любом месте,т.е. выходит за рамки определенной папки.Методы
Restrict
и Find
/ FindNext
могут применяться к определенной коллекции Items
(см. Свойство Items
класса Folder в Outlook). - Полная поддержка запросов DASL (Пользовательские свойства могут быть использованы для поиска тоже).Подробнее об этом можно прочитать в статье Filtering в MSDN.Для повышения эффективности поиска можно использовать ключевые слова мгновенного поиска, если для магазина включен мгновенный поиск (см. Свойство
IsInstantSearchEnabled
класса Store). - Вы можете остановить процесс поиска в любой момент, используяМетод Stop класса Search.
См. Расширенный поиск в Outlook программным способом: C #, VB.NET для получения дополнительной информации.
(4) Используйте метод Delete
для удаления предметов.