Partager via


Envoyer une invitation de partage pour un calendrier

Le partage de messages, y compris le partage d’invitations, de demandes de partage et de réponses de partage, est représenté dans Microsoft Outlook par l’objet SharingItem . La méthode CreateSharingItem de l’objet NameSpace est utilisée pour créer des objets SharingItem pour le partage d’invitations et de demandes de partage.

Cet exemple de code utilise la méthode OpenSharingItem pour créer un objet SharingItem qui représente une invitation de partage pour votre dossier Calendrier par défaut. Une fois partagé, le destinataire peut utiliser les méthodes OpenSharedFolder ou GetSharedDefaultFolder de l’objet NameSpace , ou la méthode OpenSharedFolder de l’objet SharingItem pour ouvrir le dossier partagé.

  1. L’exemple obtient une référence d’objet Folder pour le dossier Calendar par défaut de l’utilisateur actuel, à l’aide de la méthode GetDefaultFolder de l’objet NameSpace .

  2. Il utilise la méthode CreateSharingItem pour créer un nouvel objet SharingItem, à l'aide de l'objet Folder pour établir le contexte de partage utilisé par l'objet SharingItem.

  3. Enfin, la méthode Add de la collection Recipients de l’objet SharingItem nouvellement créé est appelée pour ajouter le destinataire spécifié et la méthode Send est utilisée pour envoyer l’objet 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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.