Você está offline; aguardando reconexão

COMO: Adicionar Contatos Automaticamente no Outlook

Sumário
O Microsoft Outlook é um Servidor de Automação. Dessa forma, você pode controlá-lo de maneira programática a partir de outros aplicativos, enviando dados para frente e para trás.
Mais Informações
O exemplo a seguir mostra como importar a tabela Clientes da amostra do Tasmanian Traders na pasta de contatos do Outlook.

NOTA: O exemplo a seguir foi escrito para uso com o Microsoft Visual FoxPro versão 6.0.
#DEFINE olFolderContacts 10#DEFINE olCurrency 14#DEFINE olPercent 12LOCAL loOutlook, loNameSpace, loFolder, loContact, loNewContactCLOSE DATA ALLUSE HOME(2) + "TasTrade\data\customer"*!* Get an object reference to OutlookloOutlook = CREATE("Outlook.Application")*!* Get the MAPI namespace (the only available one) *!* and find the Contacts folderloNamespace = loOutlook.GetNameSpace("MAPI")loFolder = loNameSpace.GetDefaultFolder(olFolderContacts)*!* Add a subfolder below the standard Contacts folderloContact = loFolder.folders.Add("Tasmanian Traders")SCAN   loNewContact = loContact.Items.Add()  && Returns an object of type                                         && ContactItem   WITH loNewContact      .FullName = contact_name      .JobTitle = contact_title      .CompanyName = company_name            *!* This makes the company name appear above the contact name in       *!* Outlook. It will also sort by company name.      .FileAs = .CompanyName + " (" + ;         ALLTRIM(.LastName + ", " + .FirstName + " " + .MiddleName) + ")"	      *!* Unfortunately, the Contacts table does not include email.      *!* Note: the property below is Email One Address. This is not clear      *!* under some fonts.      .Email1Address = "random@nospam.com"      .Email1AddressType = "SMTP"      lcAddress = ALLTRIM(address) + CHR(10) + ;         ALLTRIM(city) + ;         IIF(EMPTY(region), "", ", " + ALLTRIM(region)) + "  " + ;         ALLTRIM(postal_code) + ;         IIF(country != "USA", CHR(10) + ALLTRIM(country), "")      .HomeAddress = lcAddress      .BusinessTelephoneNumber = ALLTRIM(phone)      .BusinessFaxNumber = ALLTRIM(fax)            *!* Create user-defined properties for extra fields      .UserProperties.Add("Max Order Amount", olCurrency)      .UserProperties.Add("Min Order Amount", olCurrency)      .UserProperties.Add("Discount", olPercent)            *!* If you use numeric indexes here (1, 2, and 3) you'll      *!* find that the collection is alphabetical.      .UserProperties("Discount").Value = ROUND(discount / 100, 2)      .UserProperties("Max Order Amount").Value = max_order_amt      .UserProperties("Min Order Amount").Value = min_order_amt            *!* ContactItem does not appear in Outlook until it is saved.      .Save   ENDwithENDscanCLOSE DATA ALL				
Após o código anterior ser executado, faça o seguinte para exibir os resultados:
  1. Abra o Microsoft Outlook e vá para a pasta Contacts\Tasmanian Traders.
  2. Clique duas vezes no contato para abri-lo. Na guia Geral, observe que todos os campos de cada contato, exceto os três definidos pelo usuário, ficam visíveis.
  3. Selecione a guia Todos os Campos para exibir os campos definidos pelo usuário.
Para obter o código similar no Microsoft Access, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
290792 OL2002: How to Programmatically Export Outlook Items to Microsoft Access
Referências
Para obter mais informações sobre a Automatização do Outlook, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
222101 HOWTO: Find and Use Office Object Model Documentation
Para obter informações detalhadas de Ajuda sobre os vários campos de Item de Contato e outros objetos do Outlook, consulte a Biblioteca MSDN da Documentação do Office Developer: Referência Sobre Linguagem do Microsoft Office 2000: Referência Sobre o Microsoft Outlook 2000.
Propriedades

ID do Artigo: 269617 - Última Revisão: 09/26/2003 19:26:00 - Revisão: 1.0

  • Microsoft Visual FoxPro 6.0 Professional Edition
  • kbhowto kbcodesnippet kbautomation KB269617
Comentários