Enviar um convite de compartilhamento para um calendário

O compartilhamento de mensagens, incluindo convites de compartilhamento, solicitações de compartilhamento e respostas de compartilhamento, são representados no Microsoft Outlook pelo objeto SharingItem . O método CreateSharingItem do objeto NameSpace é usado para criar objetos SharingItem para compartilhamento de convites e solicitações de compartilhamento.

Este exemplo usa o método OpenSharingItem para criar um SharingItem que representa um convite de compartilhamento de sua pasta padrão Calendário. Depois de compartilhado, o destinatário poderá usar os métodos OpenSharedFolder ou GetSharedDefaultFolder do objeto NameSpace ou o método OpenSharedFolder do objeto SharingItem para abrir a pasta compartilhada.

  1. O exemplo obtém uma referência de objeto Folder para a pasta padrão Calendário para o usuário atual, usando o método GetDefaultFolder do objeto NameSpace .

  2. Ele usa o método CreateSharingItem para criar um novo objeto SharingItem, usando o objeto Folder para estabelecer o contexto de compartilhamento usado por um SharingItem.

  3. Por fim, o método Add para a coleção Destinatários do objeto SharingItem recém-criado é chamado para adicionar o destinatário especificado e o método Enviar é usado para enviar o 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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.