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.
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.
Anschließend wird die Save -Methode von ContactItem zum Speichern im Standardordner Kontakte aufgerufen.
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.