使用 OpenSharedItem 匯入儲存的專案
Microsoft Outlook 會提供 NameSpace 物件的 OpenSharedItem 方法,以便讓您開啟 iCalendar 約會 (.ics) 檔案、vCard (.vcf) 檔案及 Outlook 郵件 (.msg) 檔案並傳回適用於此檔案的 Outlook 項目。 此方法傳回的物件類型會根據開啟的共用項目類型而定,如下表所示。
共用項目類型 | Outlook 項目 |
---|---|
iCalendar 約會 (.ics) 檔案 | AppointmentItem |
vCard (.vcf) 檔案 | ContactItem |
Outlook 郵件 (.msg) 檔案 | Type 相當於儲存為 .msg 檔之項目的類型。 |
開啟共用項目後,您就可以使用傳回物件的 Save 方法來匯入此項目,並將它儲存到適用於該 Outlook 項目的預設資料夾。
這則範例會開啟 vCard 檔案並將它匯入目前使用者的 [連絡人] 預設資料夾。
此範例會取得 NameSpace 物件的參照,然後呼叫 NameSpace 物件的 GetSharedItem 方法,載入 vCard 檔案並傳回 ContactItem 參照。
It then calls the Save method of the ContactItem to save it to the Contacts default folder.
最後,它會使用NameSpace物件的GetDefaultFolder方法,取得目前使用者之Contacts預設資料夾的Folder物件參照,然後顯示資料夾。
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 支援與意見反應。