Поделиться через


Отправка приглашения на общий доступ для календаря

Сообщения общего доступа, включая приглашения, запросы и ответы на общий доступ, представлены в Microsoft Outlook объектом SharingItem . Метод CreateSharingItem объекта NameSpace используется для создания объектов SharingItem для совместного использования приглашений и запросов общего доступа.

В этом примере используется метод OpenSharingItem для создания объекта SharingItem , представляющего приглашение на общий доступ для папки календаря по умолчанию. После предоставления общего доступа получатель может использовать методы OpenSharedFolder или GetSharedDefaultFolder объекта NameSpace или метод OpenSharedFolder объекта SharingItem , чтобы открыть общую папку.

  1. Пример получает ссылку на объект Folder для папки Calendar по умолчанию для текущего пользователя с помощью метода GetDefaultFolder объекта NameSpace .

  2. Он использует метод CreateSharingItem для создания объекта SharingItem , используя объект Folder для установки контекста общего доступа, используемого объектом SharingItem.

  3. Наконец, метод Add для коллекции Recipients созданного объекта SharingItem вызывается для добавления указанного получателя, а метод Send используется для отправки объекта SharingItem.

Public Sub ShareCalendarByInvitation() 
 Dim oNamespace As NameSpace 
 Dim oFolder As Folder 
 Dim oSharingItem As SharingItem 
 
 On Error GoTo ErrRoutine 
 
 ' Get a reference to the Calendar default folder 
 Set oNamespace = Application.GetNamespace("MAPI") 
 Set oFolder = oNamespace.GetDefaultFolder(olFolderCalendar) 
 
 ' Create a new sharing invitation, using the Calendar 
 ' default folder to establish sharing context. 
 Set oSharingItem = oNamespace.CreateSharingItem(oFolder) 
 
 ' Add a recipient to the Recipients collection of 
 ' the sharing invitation. 
 oSharingItem.Recipients.Add "someone@example.com" 
 
 ' Send the sharing invitation. 
 oSharingItem.Send 
 
EndRoutine: 
 On Error GoTo 0 
 Set oSharingItem = Nothing 
 Set oFolder = Nothing 
 Set oNamespace = Nothing 
Exit Sub 
 
ErrRoutine: 
 Select Case Err.Number 
 Case 287 ' &H0000011F 
 ' The user denied access to the Address Book. 
 ' This error occurs if the code is run by an 
 ' untrusted application, and the user chose not to 
 ' allow access. 
 MsgBox "Access to Outlook was denied by the user.", _ 
 vbOKOnly, _ 
 Err.Number & " - " & Err.Source 
 Case -313393143 ' &HED520009 
 ' This error typically occurs if you set the 
 ' AllowWriteAccess property of a SharingItem 
 ' to True when sharing a default folder. 
 MsgBox Err.Description, _ 
 vbOKOnly, _ 
 Err.Number & " - " & Err.Source 
 Case -2147467259 ' &H80004005 
 ' This error typically occurs if the SharingItem 
 ' cannot be sent because of incorrect or 
 ' conflicting property settings. 
 MsgBox Err.Description, _ 
 vbOKOnly, _ 
 Err.Number & " - " & Err.Source 
 Case Else 
 ' Any other error that may occur. 
 MsgBox Err.Description, _ 
 vbOKOnly, _ 
 Err.Number & " - " & Err.Source 
 End Select 
 
 GoTo EndRoutine 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.