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.

  1. 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.

  2. Em seguida, ele chama o método Save de ContactItem para salvá-lo na pasta padrão Contatos.

  3. 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.