Partager via


Importer des éléments enregistrés à l’aide d’OpenSharedItem

Microsoft Outlook fournit la méthode OpenSharedItem , pour l’objet NameSpace , pour ouvrir les fichiers de rendez-vous iCalendar (.ics), les fichiers vCard (.vcf) et les fichiers de message Outlook (.msg) et renvoyer l’élément Outlook approprié pour le fichier. Le type d'objet renvoyé par cette méthode dépend du type de l'élément partagé ouvert, comme il est indiqué dans le tableau suivant.

Type de l'élément partagé Élément Outlook
Fichier de rendez-vous iCalendar (.ics) AppointmentItem
Fichier vCard (.vcf) ContactItem
Fichier de message Outlook (.msg) Le type correspond au type de l’élément enregistré en tant que fichier .msg

Lorsqu'un élément partagé est ouvert, vous pouvez l'importer avec la méthode Save de l'objet renvoyé pour l'enregistrer dans le dossier par défaut approprié à cet élément Outlook.

Dans l'exemple qui suit, le code permet d'ouvrir et d'importer un fichier vCard dans le dossier Contacts par défaut de l'utilisateur actif.

  1. Ce code permet d'obtenir une référence à un objet NameSpace, puis d'appeler la méthode GetSharedItem de l'objet NameSpace pour charger le fichier vCard et renvoyer une référence ContactItem.

  2. Il appelle ensuite la méthode Save de ContactItem pour l'enregistrer dans le dossier par défaut Contacts.

  3. Enfin, il obtient une référence d’objet Folder au dossier Contacts par défaut pour l’utilisateur actuel à l’aide de la méthode GetDefaultFolder de l’objet NameSpace , puis affiche le dossier.

Public Sub OpenSharedContact() 
 
 Dim oNamespace As NameSpace 
 Dim oSharedItem As ContactItem 
 Dim oFolder As Folder 
 
 On Error GoTo ErrRoutine 
 
 ' Get a reference to a NameSpace object. 
 Set oNamespace = Application.GetNamespace("MAPI") 
 
 ' Open the vCard (.vcf) file containing the shared item. 
 Set oSharedItem = oNamespace.OpenSharedItem( _ 
 "C:/SampleContact.vcf") 
 
 ' Save the item to the Contacts default folder. 
 oSharedItem.Save 
 
 ' Get a reference to and display the Contacts default folder. 
 Set oFolder = oNamespace.GetDefaultFolder( _ 
 olFolderContacts) 
 oFolder.Display 
 
EndRoutine: 
 On Error GoTo 0 
 Set oSharedItem = Nothing 
 Set oFolder = Nothing 
 Set oNamespace = Nothing 
Exit Sub 
 
ErrRoutine: 
 Select Case Err.Number 
 Case 287 ' &H0000011F 
 ' 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 -2147024894 ' &H80070002 
 ' Occurs if the specified file or URL could not 
 ' be found, or the file or URL cannot be 
 ' processed by the OpenSharedItem method. 
 MsgBox Err.Description, _ 
 vbOKOnly, _ 
 Err.Number & " - " & Err.Source 
 Case -2147352567 ' &H80020009 
 ' Occurs if the specified file or URL is not valid, 
 ' or you attempt to use the Move method on 
 ' an Outlook item that represents a shared item. 
 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.