Artigo: 290658 - Última revisão: sexta-feira, 24 de Novembro de 2006 - Revisão: 6.5

Como importar programaticamente itens do Outlook a partir do Access

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo
Para obter uma versão de Microsoft Outlook 97 deste artigo, consulte 170320  (http://support.microsoft.com/kb/170320/ ) .

Para obter uma versão do Microsoft Outlook 98 deste artigo, consulte 180981  (http://support.microsoft.com/kb/180981/ ) .

Para obter uma versão de Microsoft Outlook 2000 deste artigo, consulte 208232  (http://support.microsoft.com/kb/208232/ ) .

Sumário

Este artigo fornece um descrição geral do código de exemplo para criar contactos do Microsoft Outlook a partir de informações armazenadas na base de dados do Microsoft Access. O código de exemplo na secção mais informação deste artigo deve ser executado a partir de um módulo global do Microsoft Access e fornece um ponto de partida para o desenvolvimento de uma solução completa.

Mais Informação

A funcionalidade de importação e exportação do Outlook não lhe permite importar ou exportar informações em campos definidos pelo utilizador (ou propriedades). Para importar informações para estes campos, poderá ser necessário criar uma solução de programação que utilize Automatização para converter as informações.

O código de exemplo seguinte converte especificamente informações a partir do Access recém-criado contactos do Outlook, utilizar o Data Access Objects (DAO). Com as modificações, pode utilizar este código como base para criar outros tipos de itens do Outlook, tais como compromissos, notas, tarefas e como, por exemplo.

Existe também uma descrição geral e exemplo de código diferentes disponíveis no Web site da Microsoft na seguinte localização. É o primeiro exemplo o documento técnico.
http://msdn2.microsoft.com/en-us/office/aa905351.aspx (http://msdn2.microsoft.com/en-us/office/aa905351.aspx)

Considerações sobre a programação

  • O código de exemplo seguinte utiliza a base de dados Adamastor incluída no Access 2002. Se instalou o Microsoft Office para uma localização diferente da predefinida, deve alterar o caminho para a base de dados do exemplo de código.
  • Tem de definir uma referência para o Microsoft Outlook 10.0 Object Library. Uma referência para a biblioteca Microsoft DAO 3.6 Object Library e o Microsoft Office 10.0 Object Library deve ser definida por predefinição.
  • Os tipos de campo utilizados neste exemplo são texto, no Access e no Outlook. Para converter outros tipos de campos, tem de modificar o código correctamente.
  • Os contactos são automaticamente colocados na pasta Contactos predefinida, que é do mesmo nível, a pasta a receber.
  • O método CreateItem utilizado neste exemplo cria um novo contacto do Outlook utilizando o formulário predefinido para a pasta Contactos predefinida. Se tiver criado um formulário de contacto do Outlook personalizado, tem de definir o campo classedamensagem para cada item para o nome do seu formulário personalizado.
Microsoft fornece exemplos de programação ilustração só, sem garantia expressa ou implícita, incluindo, sem limitação, garantias implícitas de comercialização e/ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas utilizadas para criar e depurar procedimentos. Profissionais de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas.
Se dispõe de limitada experiência de programação, poderá contactar um Microsoft Certified Partner ou a serviços de aviso. Para obter mais informações, visite estes Web sites da Microsoft:

Microsoft certificado Partner - https://partner.microsoft.com/global/30000104 (https://partner.microsoft.com/global/30000104)

Serviços Microsoft aviso - http://support.microsoft.com/gp/advisoryservice (http://support.microsoft.com/gp/advisoryservice)

Para obter mais informações sobre as opções de suporte estão disponíveis e sobre como contactar a Microsoft, visite o seguinte Web site da Microsoft: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS (http://support.microsoft.com/default.aspx?scid=fh;en-us;cntactms)

Código de exemplo

Sub ExportAccessContactsToOutlook()

   ' Set up DAO Objects.
   Dim oDataBase As DAO.Database
   Dim rst As DAO.Recordset
   Set oDataBase = OpenDatabase _
      ("c:\Program Files\Microsoft Office\Office10\Samples\Northwind.mdb")
   Set rst = oDataBase.OpenRecordset("Customers")

   ' Set up Outlook Objects.
   Dim ol As New Outlook.Application
   Dim olns As Outlook.Namespace
   Dim cf As Outlook.MAPIFolder
   Dim c As Outlook.ContactItem
   Dim Prop As Outlook.UserProperty

   Set olns = ol.GetNamespace("MAPI")
   Set cf = olns.GetDefaultFolder(olFolderContacts)

   With rst
      .MoveFirst

      ' Loop through the Microsoft Access records.
      Do While Not .EOF

         ' Create a new Contact item.
         Set c = ol.CreateItem(olContactItem)

         ' Specify which Outlook form to use.
         ' Change "IPM.Contact" to "IPM.Contact.<formname>" if you've
         ' created a custom Contact form in Outlook.
         c.MessageClass = "IPM.Contact"

         ' Create all built-in Outlook fields.
         If ![CompanyName] <> "" Then c.CompanyName = ![CompanyName]
         If ![ContactName] <> "" Then c.FullName = ![ContactName]

         ' Create the first user property (UserField1).
         Set Prop = c.UserProperties.Add("UserField1", olText)

         ' Set its value.
         If ![CustomerID] <> "" Then Prop = ![CustomerID]

         ' Create the second user property (UserField2).
         Set Prop = c.UserProperties.Add("UserField2", olText)

         ' Set its value and so on....
         If ![Region] <> "" Then Prop = ![Region]

         ' Save and close the contact.
         c.Save
         c.Close

         .MoveNext
      Loop
   End With

End Sub
				

Referências

Para obter informações adicionais sobre como exportar dados a partir do Outlook para o Access, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
290792  (http://support.microsoft.com/kb/290792/ ) Como programaticamente exportar itens do Outlook para o Access
Para obter informações adicionais sobre recursos disponíveis e answersto normalmente mais frequentes sobre soluções do Microsoft Outlook, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
287530  (http://support.microsoft.com/kb/287530/EN-US/ ) OL2002: Perguntas sobre formulários personalizados e soluções do Outlook

A informação contida neste artigo aplica-se a:
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Access 2002 Standard Edition
Palavras-chave: 
kbmt kbdatabase kbimport kbprogramming kbvba kbhowto KB290658 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 290658  (http://support.microsoft.com/kb/290658/en-us/ )