MS Outlook 2013 VBA (MS Exchange)를 사용하여 회사 회의실 일정 이벤트를 읽으려고합니다. 내 스크립트는 쓰기 권한이있는 캘린더에서만 작동하지만 회의실 공유 캘린더는 읽기 전용입니다. 그들에 내 스크립트를 시도하면 런타임 오류 '-2147221233 (8004010f)'가 표시됩니다.Outlook VBA 열려있는 읽기 전용 공유 교환 달력
Sub ShowOtherUserCalFolders()
Dim namespace As Outlook.namespace
Dim recipient As Outlook.recipient
Dim CalendarFolder As Outlook.Folder
Set namespace = Application.GetNamespace("MAPI")
Set recipient = namespace.CreateRecipient("calendar-name")
recipient.Resolve
MsgBox recipient.Name
'The name is shown correctly
If recipient.Resolved Then
Set CalendarFolder = namespace.GetSharedDefaultFolder(recipient, olFolderCalendar)
'This should display the calendar on the screen, but it fails
CalendarFolder.Display
Dim oItems As Outlook.Items
Set oItems = CalendarFolder.Items
'The oItems is empty when trying to use read-only calendar
MsgBox oItems.Count
End If
End Sub
읽기 전용 공유 일정에서 정보를 얻는 올바른 방법은 무엇입니까?
네임 스페이스에서 최상위 폴더까지 폴더 트리를 "calendar-name"하위 폴더로 이동하십시오. https://stackoverflow.com/a/9077144 – niton