Importieren gespeicherter Elemente mithilfe von OpenSharedItem

Microsoft Outlook bietet die OpenSharedItem -Methode für das NameSpace -Objekt, um iCalendar-Termindateien (ICS), vCard-Dateien (VCF) und Outlook-Nachrichtendateien (MSG) zu öffnen und das für die Datei geeignete Outlook-Element zurückzugeben. Der von dieser Methode zurückgegebene Objekttyp richtet sich nach dem Typ des freigegebenen geöffneten Elements, wie in der folgenden Tabelle beschrieben.

Typ des freigegebenen Elements Outlook-Element
iCalendar-Termindatei (ICS) AppointmentItem
vCard-Datei (VCF) ContactItem
Outlook-Nachrichtendatei (MSG) Der Typ entspricht dem Typ des Elements, das als MSG-Datei gespeichert wurde.

Sobald das freigegebene Element geöffnet ist, können Sie das Element mithilfe der Save-Methode des zurückgegebenen Objekts importieren, um es im für dieses Outlook-Element geeigneten Standardordner zu speichern.

In diesem Beispiel wird für den aktuellen Benutzer eine vCard-Datei in den Standardordner Kontakte importiert.

  1. Das Beispiel erhält einen Verweis auf ein NameSpace-Objekt, ruft dann die GetSharedItem-Methode des NameSpace-Objekts zum Laden der vCard-Datei und Zurückgeben eines ContactItem-Verweises auf.

  2. Anschließend wird die Save -Methode von ContactItem zum Speichern im Standardordner Kontakte aufgerufen.

  3. Schließlich erhält es einen Folder -Objektverweis auf den Standardordner Kontakte für den aktuellen Benutzer, indem die GetDefaultFolder -Methode des NameSpace -Objekts verwendet wird, und der Ordner wird angezeigt.

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

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.