Я пытаюсь получить доступ к общим почтовым ящикам входящих сообщений из Excel VBA, однако мой код не работает должным образом и работает только для личных почтовых ящиков.
Я пробовал приведенный ниже код для личных почтовых ящиков, и он работает толькохорошо.Не совсем уверен, как подходить к общему входному почтовому ящику, возможно, именно так настроен общий почтовый ящик.
Dim OutlookApp As Object, MailFolder As Object, SharedMailbox as Object, OutlookItem as Object
Set OutlookApp = CreateObject("Outlook.Application")
'This line works for personal inbox
'Set MailFolder = OutlookApp.Session.Folders("email@outlook.com").Folders("Inbox")
'Trying to modify below to access shared inbox
Set SharedMailbox = OutlookApp.Session.CreateRecipient("shared@email.com")
'This line below causes error, specifically olFolderInbox
Set MailFolder = OutlookApp.Session.GetSharedDefaultFolder(SharedMailbox, olFolderInbox)
For Each OutlookItem In MailFolder.Items
'other code runs here
Next
Может быть, из-за того, что я использовал методы позднего связывания и что-то смешал с ранним связыванием?Но я бы хотел сохранить его поздним связыванием для совместимости.
Я поиграл с приведенным ниже кодом, но он сталкивался с подобной проблемой.
Dim OutlookNS as Object
Set OutlookNS = OutlookApp.GetNamespace("MAPI")
OutlookNS.logon
Set SharedMailbox = OutlookNS.CreateRecipient("shared@email.com")
SharedMailbox.resolve
If SharedMailbox.resolved Then
Set MailFolder = OutlookNS.GetSharedDefaultFolder(SharedMailbox, olFolderInbox)
End If
Любая помощь будет оценена.Я сидел на этом некоторое время и просто не могу понять это правильно.Спасибо!