Я пытаюсь создать приложение, которое позволяет пользователям создавать элементы встреч в общем календаре Outlook для нашей компании с помощью Outlook Interop (так вы говорите?).
Календарь находится в моемаккаунт и я дал разрешение всем, кому это нужно.Эти пользователи могут создавать и изменять календарь без проблем из своих реальных клиентов Outlook.Я написал следующую функцию, и она отлично работает, когда она запускается с моей учетной записью, вошедшей в систему. В тот момент, когда я выхожу из одной из учетных записей других пользователей, возникает исключение.
Public Sub AddAppointment()
Try
Dim Application As Outlook.Application = New Outlook.Application
Dim NS As Outlook.NameSpace = Application.GetNamespace("MAPI")
Dim RootFolder As Outlook.Folder
Dim CalendarFolder As Outlook.Folder
Dim PlumbingCalendarFolder As Outlook.Folder
Dim Appointment As Outlook.AppointmentItem
RootFolder = NS.Folders("myemail@ourdomain.com") 'exception here
CalendarFolder = RootFolder.Folders("Calendar")
FletcherCalendarFolder = CalendarFolder.Folders("Plumbing Tasks")
Appointment = FletcherCalendarFolder.Items.Add("IPM.Appointment")
'with/end with guts that define the appointmentitem here
Appointment.Save()
MessageBox.Show("An event for this due date was added to the calendar.")
Application = Nothing
Catch ex As Exception
MessageBox.Show("The event for this due date could not be added to the calendar. The following error occurred: " & ex.Message)
End Try
End Sub
Исключение выдается, когда я пытаюсь установить RootFolder - говорит, что «Попытка не удалась.Объект не может быть найден.Тот факт, что это работает, когда владелец календаря вошел в систему, заставляет меня поверить, что я не понимаю, как я должен получать папки из другой учетной записи.Я рядом?Я знаю об объекте получателя и создаю, а затем разрешаю его с помощью Outlook.Namespace.CreateRecipient
, а также NameSpace.GetShareDefaultFolder
, но каждая комбинация из тех, что я пробовал, терпела неудачу точно таким же образом.Я чувствую, что упускаю что-то глупое.