Importar itens salvos usando OpenSharedItem
O Microsoft Outlook fornece o método OpenSharedItem , para o objeto NameSpace , para abrir arquivos de compromisso iCalendar (.ics), arquivos vCard (.vcf) e arquivos de mensagem do Outlook (.msg) e retornar o item do Outlook apropriado para o arquivo. O tipo de objeto retornado por esse método depende do tipo de item compartilhado aberto, como descrito na tabela a seguir.
Tipo de item compartilhado | Item do Outlook |
---|---|
Arquivo de compromisso iCalendar (.ics) | AppointmentItem |
Arquivo vCard (.vcf) | Item de contato |
Arquivo de mensagem do Outlook (.msg) | Type corresponde ao tipo de item que foi salvo como um arquivo .msg |
Depois que o item compartilhado for aberto, você poderá importá-lo usando o método Save do objeto retornado para salvá-lo na pasta padrão adequada a esse item do Outlook.
Este exemplo abre e importa um arquivo vCard na pasta padrão Contatos do usuário atual.
O exemplo obtém uma referência a um objeto NameSpace e, em seguida, chama o método GetSharedItem do objeto NameSpace para carregar o arquivo vCard e retornar uma referência ContactItem.
Em seguida, ele chama o método Save de ContactItem para salvá-lo na pasta padrão Contatos.
Por fim, ele obtém uma referência de objeto Folder à pasta Contacts padrão para o usuário atual usando o método GetDefaultFolder do objeto NameSpace e, em seguida, exibe a pasta.
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
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.