Como automatizar o Outlook de outro programa

Traduções deste artigo Traduções deste artigo
ID do artigo: 201096 - Exibir os produtos aos quais esse artigo se aplica.
Para uma versão deste artigo do Microsoft Outlook 97, consulte 168095.
Para uma versão deste artigo do Microsoft Outlook 98, consulte 181202.
Para uma versão deste artigo do Microsoft Outlook 2002, consulte 291120.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo fornece uma visão geral de programação do Outlook usando a automação de outro programa.

Mais Informações

Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita, incluindo, mas não se limitando às garantias implícitas de comercialização e/ou adequação a uma finalidade específica. Este artigo presume que você esteja familiarizado com a linguagem de programação demonstrada e as ferramentas usadas para criar e depurar procedimentos. Profissionais de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades específicas.
Se você não tenha muita experiência de programação, talvez queira em contato com um Microsoft Certified Partner ou Microsoft Advisory Services. Para obter mais informações, visite da Microsoft:

Microsoft Certified Partners - https://partner.microsoft.com/global/30000104

Comunicado de Microsoft Services - http://support.microsoft.com/gp/advisoryservice

Para obter mais informações sobre as opções de suporte estão disponíveis e sobre como entrar em contato com a Microsoft, visite o seguinte site: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMSAutomação permite que um programa controlar o outro programa pela emissão de comandos ou recuperando informações por meio de programação. Você pode usar os exemplos de código neste artigo no Microsoft Word, Microsoft Excel, Microsoft Visual Basic ou qualquer outro programa que oferece suporte à automação.

Mais cedo versus ligação tardia

Você pode usar vinculação "anterior" ou "tardia" para iniciar uma sessão de automação. Ligação tardia usa a GetObject ou CreateObject a função para inicializar o Outlook. Por exemplo, o código a seguir define um objeto para o programa Outlook, que é o objeto de nível mais alto no modelo de objeto do Outlook. Todo código de automação deve primeiro definir um objeto Outlook.Application para acessar qualquer um dos outros objetos do Outlook abaixo dele.
Dim objOL as Object
Set objOL = CreateObject("Outlook.Application")
				
Para usar ligação inicial, você primeiro precisa referenciar o Outlook disponível biblioteca de objetos. Para fazer isso partir do Visual Basic (VB) ou do Visual Basic for Applications, execute as seguintes etapas:
  1. No Editor do Visual Basic, no menu Ferramentas , clique em referências .
  2. Clique para selecionar o Microsoft Outlook 9.0 Object Library caixa de seleção e, em seguida, clique em OK .
O arquivo de biblioteca de objeto é Msoutl9.olb e instala para a pasta c:\Arquivos de programas\Microsoft Office\Office por padrão. Depois que você referência à biblioteca de objeto do Outlook, você pode usar a sintaxe a seguir para iniciar uma sessão do Outlook:
Set ol = New Outlook.Application
				
usar vinculação anterior tem duas vantagens importantes. Primeiro, o código usando vinculação antecipada é executado mais rápido do que código usando a ligação tardia (CreateObject/GetObject). Segundo, porque você referência à biblioteca de objeto do Outlook, você pode obter programação ajuda usando o Pesquisador de objeto do Outlook on-line e sistema de Ajuda.

O modelo de objeto do Outlook

Modelo de objeto do Outlook lhe permite manipular dados armazenados nas pastas do Outlook. Novos recursos do Outlook também permitem que você manipule a barra do Outlook, trabalhar com itens selecionados em uma pasta e manipular janelas de nível de item e o nível de aplicativo. Adicionando eventos, seu código pode responder a muitas coisas ocorrem no Outlook, permitindo que você criar uma solução orientada a eventos.

No entanto, você perceberá que comparado ao Word e Excel, há uma funcionalidade limitada disponível para controle próprio Outlook. Muitos recursos do Outlook não são expostos ou personalizáveis por meio do Outlook modelo de objeto. Por exemplo, você não pode usar o modelo de objeto para alterar as configurações de Opções no menu Ferramentas , embora um novo recurso do Outlook é que você pode pode criar sua própria página na Opções ou caixa de diálogo Propriedades da pasta .

Observação : como uma solução possível para limitações sobre o modelo de objeto, você pode usar o objeto de CommandBars fornecido pelo Microsoft Office para executar a maioria dos comandos que são atribuídos a ou botões de barra de ferramentas ou comandos de menu. Por exemplo, você pode usar o objeto de CommandBars para executar o comando Nova chamada , no submenu dial do menu Ferramentas , para exibir a caixa de diálogo Nova chamada .

A maioria das soluções de programação precisam interagir com os dados armazenados no Outlook. O Outlook armazena todas as suas informações em pastas de MAPI (Messaging Application Programming Interface). Portanto, depois de definir uma variável de objeto para Outlook.Application , normalmente você irá definir um objeto Namespace para MAPI:
Set ol = New Outlook.Application
Set olns = ol.GetNamespace("MAPI")
				
Quando você definir o objeto Namespace , você estará pronto para definir o próximo objeto para uma pasta dentro do espaço para nome MAPI. Uma maneira comum de fazer isso é, especificando o Outlook padrão pastas, que são as pastas no mesmo nível de pasta da caixa de entrada que recebe emails de entrada. O código a seguir irá definir o objeto objFolder para a pasta padrão Contatos:
Set ol = New Outlook.Application
Set olns = ol.GetNamespace("MAPI")
Set objFolder = olns.GetDefaultFolder(olFolderContacts)
				
para obter informações adicionais sobre referência a outros tipos de pastas, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
Exemplos de pastas e itens de referência de programação 208520
Quando você estiver na pasta que contém os itens que você deseja usar ou criar programaticamente, você pode usar código apropriado para realizar sua tarefa de programação. Consulte os exemplos posteriormente no artigo para alguns exemplos de programação comuns.

Ao acessar o Outlook dados de outro aplicativo, você também pode ter seu aplicativo ficar atento quando determinados eventos ocorrem no Outlook. Exemplos de eventos são quando um item é adicionado a uma pasta, quando o usuário seleciona um item diferente na pasta, ou quando um lembrete do Outlook é exibido. Para obter uma lista completa de eventos disponíveis, consulte o Outlook Visual Basic Reference (Vbaoutl9.chm). Para obter informações sobre como obter o arquivo de Ajuda, consulte a seção referências neste artigo.

Para obter um exemplo de como você pode integrar eventos do Outlook em seu aplicativo, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
225502 eventos com o Outlook em outro programa

Código de exemplo para tarefas comuns de programação

Exemplo: Criar um novo item de tarefa padrão

Sub CreateNewDefaultOutlookTask()

   Dim ol As Outlook.Application
   Dim NewTask As Outlook.TaskItem

   ' Set the Application object.
   Set ol = New Outlook.Application

   ' Create a new standard task.
   Set NewTask = ol.CreateItem(olTaskItem)

   ' Display the new task form so the user can fill it out.
   NewTask.Display

End Sub
				

Exemplo: Criar um novo contato usando um formulário personalizado

Sub CreateNewContactFromCustomForm()

   Dim ol As Outlook.Application
   Dim olns As Outlook.NameSpace
   Dim objFolder As Outlook.MAPIFolder
   Dim AllContacts As Outlook.Items
   Dim NewContact As Outlook.ContactItem

   ' Set the Application object.
   Set ol = New Outlook.Application

   ' Set the Namespace object.
   Set olns = ol.GetNamespace("MAPI")

   ' Set the default Contacts folder.
   Set objFolder = olns.GetDefaultFolder(olFolderContacts)

   ' Set objAllContacts equal to the collection of all contacts.
   Set AllContacts = objFolder.Items

   ' Add a new contact to the AllContacts collection using the
   ' "IPM.Contact.MyForm" form.
   Set NewContact = AllContacts.Add("IPM.Contact.MyForm")

   ' Display the new contact form.
   NewContact.Display

End Sub
				

Exemplo: Loop por todos os contatos padrão

Sub GetOutlookContacts()

   Dim ol As Object
   Dim olns As Object
   Dim objFolder As Object
   Dim objAllContacts As Object
   Dim Contact As Object

   ' Set the Application object.
   Set ol = New Outlook.Application

   ' Set the Namespace object.
   Set olns = ol.GetNamespace("MAPI")

   ' Set the default Contacts folder.
   Set objFolder = olns.GetDefaultFolder(olFolderContacts)

   ' Set objAllContacts equal to the collection of all contacts.
   Set objAllContacts = objFolder.Items

   ' Loop through each contact.
   For Each Contact In objAllContacts

      ' Display the Fullname field for the contact.
      MsgBox Contact.FullName

   Next

End Sub
				

Referências

Para obter informações adicionais sobre recursos disponíveis e respostas a perguntas feitas normalmente sobre soluções do Microsoft Outlook 2000, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
146636 perguntas sobre formulários personalizados e soluções do Outlook

Propriedades

ID do artigo: 201096 - Última revisão: quinta-feira, 23 de novembro de 2006 - Revisão: 3.4
A informação contida neste artigo aplica-se a:
  • Microsoft Outlook 2000
Palavras-chave: 
kbmt kbautomation kbdtacode kbhowto kbprogramming KB201096 KbMtpt
Traduçã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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 201096

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com