Импорт сохраненных элементов с помощью OpenSharedItem
Microsoft Outlook предоставляет метод OpenSharedItem для объекта NameSpace для открытия файлов встреч iCalendar (ICS), файлов vCard (VCF) и сообщений Outlook (MSG) и возвращает соответствующий элемент Outlook. Тип объекта, возвращаемого этим методом, зависит от типа открытого общего элемента, как описано в следующей таблице.
Тип общего элемента | Элемент Outlook |
---|---|
ICalendar appointment (ICS-файл) | AppointmentItem |
VCard (VCF-файл) | ContactItem |
Файл сообщения Outlook (MSG-файл) | Тип соответствует типу элемента, сохраненного как MSG-файл. |
После открытия общего элемента можно импортировать его с помощью метода Save возвращаемого объекта, чтобы сохранить его в папку по умолчанию, соответствующую этому элементу Outlook.
Этот пример открывает и импортирует файл vCard в папку Контакты по умолчанию для текущего пользователя.
Пример получает ссылку на объект NameSpace , а затем вызывает метод GetSharedItem объекта NameSpace , чтобы загрузить файл vCard и вернуть ссылку ContactItem .
Затем он вызывает метод Saveобъекта ContactItem , чтобы сохранить его в папке Контакты по умолчанию.
Наконец, он получает ссылку на объект Folder на папку по умолчанию Contacts для текущего пользователя с помощью метода GetDefaultFolder объекта NameSpace , а затем отображает папку.
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
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.