Вы можете иметь более одного WithEvents
. Например:
Private WithEvents InboxOneItems As Items
Private WithEvents InboxTwoItems As Items
Private Sub Application_Startup()
Set InboxOneItems = Session.Folders("JohnDoe@Isp1.com").Folders("Inbox").Items
Set InboxTwoItems = Session.Folders("DoeJohn@Isp2.com").Folders("Inbox").Items
End Sub
Private Sub InboxOneItems_ItemAdd(ByVal Item As Object)
Call ItemAdd("One", Item)
End Sub
Private Sub InboxTwoItems_ItemAdd(ByVal Item As Object)
Call ItemAdd("Two", Item)
End Sub
Sub ItemAdd(ByVal IdInbox As String, ByVal Item As Object)
' Code to process new emails from either mailbox
End If
У меня есть два адреса электронной почты. Мастер Outlook создал отдельное хранилище и папку «Входящие» для каждого адреса. Приведенный выше код позволяет мне контролировать оба почтовых ящика и передавать почтовые элементы, поступающие в любой почтовый ящик, в одну подпрограмму для обработки.
Я использовал этот подход только для мониторинга двух папок, но я предполагаю, что он будет работать с другими. Этот подход должен работать для ограниченного числа детей myFolder
, для которых вам потребуется предварительно написанный код.
Вы надеялись на что-то более динамичное c? Хотите иметь возможность добавить новую дочернюю или внучатую папку в MyFolder
и Outlook сразу же начнет ее мониторинг. Если такая функциональность существует, я надеюсь, что кто-то объяснит, как ее использовать, потому что я считаю ее полезной.