OL2002: Questões Sobre Formulários Personalizados e Soluções do Outlook

Traduções deste artigo Traduções deste artigo
ID do artigo: 287530 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo fornece recursos e resposta para perguntas comuns sobre como criar soluções personalizadas usando os formulários do Outlook e outros tecnologias de programação do Outlook, como Visual Basic para Aplicativos e Visual Scripting Edition (VBScript).

Os tópicos estão categorizados nas seguintes áreas:

Mais Informações

Recursos

Há uma variedade de recursos que estão disponíveis para ajudá-lo a desenvolver soluções para o Outlook. Para obter mais informações de onde encontrar esses recursos, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
287531 OL2002: Resources for Custom Forms and Programming

Funções de Segurança do Outlook

O Microsoft Outlook 2002 inclui várias funções desenvolvidas para impedir que os vírus transmitidos por e-mail se espalhem. Ao usar o modelo de objeto do Outlook e outras funções para desenvolvedores, você pode perceber um comportamento inesperado ou indesejado, pode ser normalmente um dos seguintes avisos:

Um programa está tentando enviar e-mail em seu nome automaticamente.
Você deseja permitir isso?

Se isso for inesperado, pode ser um vírus e você deve escolher "Não".
-ou-
Um programa está tentando acessar endereços de e-mail que você armazenou no Outlook. Você deseja permitir isso?

Se isso for inesperado, pode ser um vírus e você deve escolher "Não".
Se o usuário clicar em não, o seguinte erro ocorrerá:

Erro em tempo de execução '287':

Erro definido de aplicativo ou de objeto
Para obter informações adicionais sobre estes avisos, as novas funções de segurança de modelo do objeto que estão incluídas no Outlook 2002, e informações sobre como evitar essas funções ao desenvolver um solução, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
290500 OL2002: Developer Information About E-Mail Security Features

Itens e Formulários Personalizados do Outlook

P1: Criei um formulário personalizado do Outlook, mas este não é usado quando eu crio um novo item ou quando eu abro um item existente que havia antes de criar o formulário. Porque o meu formulário não é usado?

R1: Para usar um formulário personalizado do Outlook em uma solução para formulário típico com base em pastas, há três passos que precisa concluir:
  1. Publique o formulário na biblioteca de pasta ou formulários onde deseja usá-lo. No menu Ferramentas, em formulário personalizado, aponte para Formulários, e então clique em Publicar formulário. O nome do formulário também é Classe da Mensagem, o que é importante para os próximos dois passos. Se não estiver certo ao publicar o formulário, clique no número do artigo abaixo para visualizá-lo na Base de Dados de Conhecimento da Microsoft:
    290802 OL2002: How to Determine Where to Publish a Form
  2. Tornar esse novo formulário o formulário padrão para esta pasta. Para fazer isso, clique com o botão direito do mouse na pasta, e então clique em Propriedades. Na caixa Ao postar para esta pasta, usar, clique no seu formulário personalizado, e depois clique em OK. Novos itens que você criou irão usar o formulário personalizado em vez do formulário padrão do Outlook.
  3. Se tiver qualquer item existente na pasta e quiser usar o formulário para eles, altere o campo Classe da Mensagem em cada item da pasta. O campo Classe da Mensagem de um item indica ao Outlook qual formulário usar para exibir o item. Você não pode alterar diretamente esse campo no Outlook porque é considerado somente leitura, mas você pode usar o código de programação e o modelo de objeto do Outlook para alterar a classe da mensagem do campo. Para obter mais informações sobre como alterar a classe da mensagem do item na pasta, e obter utilitários para ajudá-lo a fazer isso, clique no número do artigo abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
    290659 OL2002: How to Update Existing Items to Use a New Custom Form
P2: Como eu desativo a mensagem de advertência de macro quando alguém abrir um item?

R2: Se o formulário não estiver localizado em um lugar confiável, como a Biblioteca de Formulários Organizacionais em um computador baseado no Exchange Server, o Outlook exibe uma mensagem de advertência de macro para protegê-lo de códigos de programação potencialmente maliciosos, normalmente chamados de vírus de macro. Você não pode impedir diretamente a mensagem de advertência de aparecer: você deve publicar o formulario em um local confiável. Para obter mais informações sobre essa questão e outras razões pelas quais você deve receber esta mensagem de advertência, clique no número de artigo abaixo para visualizá-lo na Base de Dados de Conhecimento da Microsoft:
290663 OL2002: Why Outlook Displays a Security Warning Message When You Open an Item
P3: Eu criei um formulário personalizado, mas ao fechar e abrir o item, ou ao enviar o formulário para alguém, todas as informações que inseri em meus controles personalizados desapareceram. Por que isso acontece?

R3: No Outlook, os controles em um formulário são usados para exibir informações, mas as informações na verdade estão armazenadas nos campos. Além disso, para preservar os valores e controles, o controle deve estar vinculado a um campo padrão do Outlook ou a um campo definido pelo usuário. Para obter mais informações sobre este problema, clique no número de artigo abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
290655 OL2002: Overview of Using Fields and Controls on Custom Forms
P4: Campos definidos por usuários não funcionam do jeito que eu esperava que funcionassem. Por que?

R4: Campos definidos por usuários oferecem flexibilidade no modo em que os dados são estruturados dentro da pasta, mas essa flexibilidade também pode apresentar desafios para desenvolvedores de solução. Para obter mais informações sobre como usar campos definidos por usuários no Outlook, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
290656 OL2002: Working With User-defined Fields in Solutions
P5: Por que alguns itens na pasta possuem ícones diferentes? Por que alguns itens na pasta possuem um tamanho grande fora do normal? Por que a Classe da Mensagem de um item se altera de volta para a Classe da Mensagem padrão? Como eu posso entender melhor como os formulários funcionam no Outlook?

R5: Compreendendo a diferença entre os formulários e itens e como o relacionamento entre eles é importante ao desenvolver uma solução do Outlook. Na maioria das situações, os formulários são publicados em um local e depois vinculados aos itens da pasta. Entretanto, você pode armazenar formulários em itens individuais, e isto pode causar um comportamento em que o Outlook se altera de várias maneiras. Para obter mais informações sobre definições do formulário e como se relacionam aos itens, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
290657 OL2002: Working with Form Definitions and One-Off Forms
P6: Ao importar e exportar contatos de uma base de dados externa, como posso mapear alguns campos para os campos definidos por usuários que eu configurei em um formulário personalizado?

R6: Esta é uma limitação do Assistente para Importação e Exportação do Outlook. Não há jeito de importar ou importar dados diretamente a campos definidos por usuários. Se estiver familiarizado com a programação do Visual Basic, você pode criar um solução que importa ou exporta a informação de maneira programática. Para obter mais informações sobre esta questão e exemplos sobre como importar ou exportar campos definidos por usuários, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
197654 OL2000: Cannot Import or Export User-Defined Contact Fields
290658 OL2002: How to Programmatically Import Outlook Items from Microsoft Access
290792 OL2002: How to Programmatically Export Outlook Items to Microsoft Access
P7: Ao usar um controle em um formulário personalizado do Outlook, por que os eventos de controle parecem não funcionar?

R7: Ao usar um formulário personalizado do Outlook, o Outlook somente suporta evento Click para controle. Muitos controles são especificamente desenvolvidos para funcionar com outros eventos, e por esses eventos não serem suportados pelo Outlook, os controles podem não funcionar.

Para contornar essa limitação, você pode criar um componente ActiveX do Visual Basic (formalmente chamado de aplicativo de servidor OLE). Você pode iniciar o compontente usando o método CreateObject no VBSript. O componente pode exibir um formulário do Visual Basic com os controles adequados, receber a informação que o usuário seleciona ou digita, e depois automatizar o Outlook para devolver qualquer informação necessária ao formulário do Outlook.

Esta técnica envolve muitos aspectos da programação. Para obter informações sobre como criar um componente ActiveX, consulte a documentação do Microsoft Visual Basic.

Para obter mais informações sobre eventos de controle em formulários personalizados do Outlook, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
290660 OL2002: Click Event Behavior for Standard Controls
P8: Posso imprimir formulários como aparecem na tela?

R8: Não há uma maneira direta de imprimir formulários do modo em que aparecem na tela. Também, o modelo de objeto do Outlook não fornece mais funcionalidades de impressão assim como é fornecido pelo Outlook propriamente dito. Para contornar esta limitação, você pode usar outro programa para imprimir informações do Outlook, ou pode fazer o download de um controle ActiveX ou uma extensão do Outlook para criar uma solução de impressão para um formulário personalizado. Para obter mais informações sobre como criar soluções de impresão para formulários personalizados, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
290775 OL2002: Outlook Does Not Print Forms as Expected
P9: Posso desenvolver um formulário no Outlook 2002 e usá-lo com as versões anteriores do Outlook?

R9: Geralmente isto não é uma boa idéia. Para ajudar a garantir compatibilidade, desenvolva o formulário usando a versão mais antiga do Outlook que usa formulário. Para obter mais informações sobre como desenvolver formulários para ser usado com mais de uma versão do Outlook, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
291172 OL2002: Designing Custom Forms for Different Versions of Outlook
P10: Como eu obtenho botões de opção para trabalhar em um formulário do Outlook?

R10: Você precisa seguir passos específicos para que os botões funcionem no Outlook. Para obter mais informações sobre como os botões de opção funcionam, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
290652 OL2002: How to Use Option Buttons on an Outlook Form
P11: Qual é o cache dos formulários? Por que o Outlook o usa? Como isso funciona?

R11: O cache dos formulários é uma parte integral de como o Outlook funciona com formulários. Como um desenvolvedor de formulários, é importante ter um entendimento geral sobre como o cache de formulários funciona, assim você poderá resolver questões potenciais que podem ocorrer. Para obter informações adicionais sobre cache de formulários, clique nos números abaixo para visualizar os artigos na Base de Dados de Conhecimento da Microsoft:
290806 OL2002: How the Forms Cache Works
291183 OL2002: How to Troubleshoot the Outlook Forms Cache
P12: How can I manipulate the Message or Notes field on a form?

R12: Se o seu formato de e-mail estiver configurado para Rich Text Format (RTF), o Outlook fornecerá suporte limitado para manipular o corpo da mensagem. Entretanto, se usar o formato Hypertext Markup Language (HTML) ou o Microsoft Word como seu editor de e-mail, você pode criar mensagens de e-mail altamente formatadas. Para obter mais informações sobre como trabalhar com o corpo de um item, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
291153 OL2002: Working With the Message or Body of an Outlook Item
P13: Há muitos passos para abrir um formulário na Biblioteca de Formulários Padrão ou Biblioteca de Formulários Particulares. Como posso adicionar um formulário a um botão da barra de ferramentas para tornar mais facil?

R13: Você precisa criar código personalizado do Visual Basic para Aplicativos ou um suplemento COM para fazer isso. Para obter mais informações sobre como fazer isso, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
290803 OL2002: How to Open a Form from a Toolbar Button
P14: Como posso iniciar outro programa ou exibir uma página Web em um formulário do Outlook?

R14: Você pode usar o método CreateOject no VBScript para automatizar o programa assim como a automação do suporte do programa. Para obter mais informações sobre este problema, clique no número para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
292009 OL2002: How to Start Another Program from an Outlook Form
294865 OL2002: How to Display a Web Page in an Outlook Form

Visual Basic para Aplicativos, Suplementos COM, e Automações

P1: Qual é a diferença entre o VBScript e o Visual Basic para Aplicativos, e qual deles devo usar?

R1: Formulários personalizados do Outlook usam Visual Basic Scripting Edition (VBScript) com acontecia nas versões anteriores. Entretanto, o Outlook também fornece suporte para o Visual Basic para Aplicativos no nível do aplicativo, isso significa que pode executar macros a partir da barra de ferramentas principal ou menus do Outlook e esse código pode funcionar fora do escopo de um item. A maioria das adicioções ao modelo de objeto do Outlook foram feitas para suportar este novo modelo de programação em nível de aplicativo. Por exemplo, existe eventos que fazem com que os códigos personalizados sejam executados quando certas coisas ocorrem no Outlook, como por exemplo ao receber um novo e-mail, ou quando o usuário clica em um item diferente na pasta. Seu código também pode ser executado como um processo em lote, onde você clica em um botão da barra de ferramentas e um macro recupera dados de uma pasta e depois atualiza as informações em uma pasta pública.

P2: Visual Basic para Aplicativos e suplementos COM possibilitam que eu crie código em nível de programa. Qual deles devo usar?

R2: Visual Basic para Aplicativos no Outlook foi desenvolvido princialmente para criar soluções particulares. A principal vantagem de usar o Visual Basic para Aplicativos é que você pode criar rapidamente um solução para atender às suas necessidades. Suplementos COM normalmente são a melhor escolha ao desejar distribuir sua solução. Entretanto, os suplementos COM geralmente exigem um grande investimento no tempo de desenvolvimento. Além disso, se desejar desenvolver um suplemento COM, muitas vezes é mais fácil desenvolver e depurar a solução usando o Visual Basic para Aplicativos. Então, quando o código do Visual Basic para Aplicativos estiver funionando do jeito que deseja, você pode mover o código para um ambiente de trabalho do suplemento COM com poucas alterações.

P3: Como posso gravar macros?

R3: Embora o Outlook agora inclua o Visual Basic para Aplicativos, o modelo de objeto do Outlook não fornece funcionalidade que suporte a gravação de macros. Para obter mais informações sobre a possibilidade de gravar macros, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
291417 OL2002: Unable to Record Macros in Outlook
P4: Como posso começar a integrar o Outlook em outro programa?

R4: Você pode usar a automação para controlar de maneira programática o Outlook de outros programas personalizados. Para obter mais informações sobre como atomatizar o Outlook, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
291120 OL2002: How to Automate Outlook from Another Program
P5: Onde o meu projeto Visual Basic para Aplicativos está armazenado? Como posso distribuir uma solução que criei para outra pessoa?

R5: O código do Visual Basic para Aplicativos é armazenado em um arquivo individual chamado VBAProject.OTM, e o Visual Basic para Aplicativos não foi desenvolvido para ser distribuído. Para obter mais informações sobre como usar os projetos do Visual Basic para Aplicativos no Outlook, clique nos números abaixo para visualizar os artigos na Base de Dados de Conhecimento da Microsoft:
290779 OL2002: Managing and Distributing Outlook Visual Basic for Applications Projects
290780 OL2002: Code Does Not Work After You Distribute a VBA Project
P6: Como posso começar a desenvolver um suplemento COM?

P6: Para obter mais informações sobre como desenvolver suplementos COM, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
291163 OL2002: How to Create a COM Add-in for Outlook
P7: Meu suplemento COM faz o Outlook parar de responder (pendurar). O que está errado?

R7: Seu suplemento COM pode estar fazendo ocorrer um erro em tempo de execução do Visual Basic, e isso pode estar causando um problema no Outlook. Por essa limitação dos suplementos COM, use a interrupção de erro por todo o código de suplemento COM para interromper qualquer erro em tempo de execução. Para obter mais informações sobre este problema, clique no número de artigo abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
291166 OL2002: All COM Add-in Run-Time Errors Must Be Trapped
P8: Meu suplemento COM faz com que eu não consiga sair do Outlook. O que está errado?

R8: Seu suplemento COM parece não liberar os objetos do Explorer ou do Inspector, e isso faz com que não consiga sair do Outlook. Para obter mais informações sobre esta questão, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
294867 OL2002: You Cannot Fully Quit Outlook When You Use a COM Add-in

Modelo de Objetos e Outras Questões Gerais

P1: Antes de começar a desenvolver uma solução, como posso descobrir se alguém já desenvolveu algo que estou planejando?

R1: O site Web do Slipstick Systmes fornece um resumo compreensível sobre suplementos e utilitários. Para mais informções sobre esses suplementos, visualize o seguinte site Web do Slipstick:
http://www.slipstick.com/addins/index.htm
Os produtos de terceiros mencionados neste artigo são produzidos por empresas independentes da Microsoft. A Microsoft não oferece garantia, implícita ou não, com relação ao desempenho ou confiabilidade desses produtos.


P2: Como posso me referir de maneira programática a uma pasta ou item particular do Outlook? Como posso criar uma nova pasta ou item?

R2: O Outlook fornece muitas maneiras de acessar e manipular itens e pastas de maneira programática. Para obter mais informações sobre como lidar com pastas e itens, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
290804 OL2002: Programming Examples for Referencing Items and Folders
P3: Por que eu não consigo entender como fazer algo? Isso é possível?

R3: O Outlook não suporta um modelo de objeto inteiro, como aqueles no Word ou Excel, assim o que você está tentando fazer pode não ser possível. Além disso, pode haver outras considerações ou limitações no design do Outlook que pode impedí-lo de usar a aproximação que deseja para criar uma solução. Para obter mais informações sobre isto, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
294868 OL2002: Custom Forms and Programming Limitations
P4: Como eu posso pesquisar itens e pastas de maneira programática com base em conteúdos e campos?

R4: Você não pode usar as funções Procurar ou Localização Avançada no Outlook, mas você pode usar o método Procurar no modelo de objeto do Outlook para recuperar um único item com base nos conteúdos de um ou mais campos. Você também pode usar o método Restrito para recuperar uma série de itens que atendem certos critérios. Para obter mais informações sobre como usar os métodos Procurar e Restrito, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
291161 OL2002: Using Find and Restrict to Retrieve Items
P5: Estou tendo problemas ao lidar com um coleção de objetos, qual é a causa deste problema?

R5: Há três situações comuns em que os desenvolvedores do Outlook enfrentam problemas ao lidarem com coleções no modelo de objeto do Outlook. Porque as coleções, especialmente as coleções de itens, estão na parte integral do modelo de objeto do Outlook, você deve estar familiarizado com essas questões. Para obter informações adicionais sobre como evitar problemas potenciais ao usar coleções, clique nos números abaixo para visualizar os artigos na Base de Dados de Conhecimento da Microsoft:
292457 OL2002: How to Properly Reference Members of a Collection
292062 OL2002: How to Handle Unexpected Items in a Collection
292459 OL2002: How to Delete Items in a Collection
P6: Como posso gerar relatórios com base nos dados que estão armazenados no Outlook?

R6: Há algumas abordagens que você pode usar:
  • Importar os dados para outro programa e usar este relatório de programa gerando capacidades. O Microsoft Access normalmente é o melhor programa de se usar, porque é possível utilizar o link para o Assistente do Exchange/Outlook no Access. Entretanto, este assistente não suporta campos definidos por usuários e campos padrão no Outlook. Se precisar de mais campos que o assistente não suporte, você deverá criar um código personalizado para transferir os dados de uma pasta do Outlook a uma tabela do Access.
  • Automatize outro programa do Outlook para gerar um relatório. Você pode fazer isso usando um VBScript em um formulário do Outlook, Visual Basic para Aplicativos, ou um suplemento COM.
  • Usar um ferramenta de terceiros para gerar relatórios. Um utilitário disponível é o Crystal Decisions Crystal Reports. Para obter mais infomações sobre este utilitário, veja o seguinte site do Crystal Decision:http://www.crystaldecisions.net/products/crystalreports/default.asp
P7: Qual é o melhor jeito de criar uma solução de roteamento ou fluxo de trabalho no Outlook?

R7: Criar uma solução de formulário personalizado do Outlook normalmente não é a melhor abordagem para implementar uma solução de roteamento ou fluxo de trabalho. Se você não tiver familiaridade em desenvolver formulários personalizados do Outlook, implementar este tipo de solução muitas vezes pode ser mais complicado doque parece. Para mais informações sobre o que considerar ao desejar implementar uma solução de roteamento, clique no número do artigo abaixo para visualizá-lo na Base de Dados de Conhecimento da Microsoft:
291122 OL2002: Overview of Implementing Workflow or Routing Solutions
P8: Como posso integrar o catálogo de endereços à minha solução?

R8: O modelo de objeto do Outlook não disponibiliza um jeito de exibir uma caixa de diálogo do catálogo de endereços, mas você pode acessar a maioria das informações do catálogo de endereços. Se você precisar de mais funcionalidades além daquelas fornecidas pelo modelo de objeto do Outlook, o modelo de objeto do Collaboration Data Objects (CDO) provavelmente fornecerá a funcionalidade que deseja. Para obter mais informações sobre como lidar com catálogos de endereços em uma solução personalizada, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
291147 OL2002: Using Address Books in an Outlook Solution

Propriedades

ID do artigo: 287530 - Última revisão: quinta-feira, 27 de fevereiro de 2003 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft Outlook 2002 Standard Edition
Palavras-chave: 
kbhowto KB287530

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