OL2000: Trabalhando com Definições de Formulários e Formulários One-Off

Traduções deste artigo Traduções deste artigo
ID do artigo: 207896 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo discute como os formulários personalizados são implementados no Outlook e fornece sugestões para endereçar sintomas inesperados que possam ocorrer ao criar uma solução baseada nos formulários do Outlook.

Este artigo contém os seguintes tópicos:

Mais Informações

NOTA: Por todo este artigo há uma distinção importante entre os termos "itens" e "formulários". Um item se refere a um "registro" de informação (um grupo de campos) em uma pasta. Um formulário é basicamente a "interface do usuário" para o item e não contém tipicamente quaisquer dados. Ao invés disso, é publicado em uma pasta ou biblioteca de formulários para uso com itens na pasta.

Ao criar uma solução de formulário personalizado com o Outlook, é importante saber reconhecer como o Outlook está utilizando seu formulário personalizado em relação aos itens em uma pasta.

Uma Solução "Típica" dos Formulários Personalizados

Se desejar criar um formulário personalizado de contatos para substituir o formulário padrão de contatos do Outlook, tipicamente siga estes passos:
    • Inicie com um formulário de Contato novo e padrão para utilizar como base para seu formulário personalizado.
    • Personalize o formulário para se adequar às suas necessidades.
    • Publique o formulário para a pasta Contatos.
    • Define o formulário como padrão para a pasta Contatos ao alterar as propriedades da pasta.
Cada item do Outlook tem um campo padrão Classe da Mensagem para manter a localização de qual formulário deve ser utilizado para exibir o item. A classe da mensagem padrão para um contato é IPM.Contato e, quando o formulário é publicado, a classe da mensagem é alterada para refletir o nome do formulário publicado. Assim, nos passos anteriores, se o formulário foi chamado de MeuFormulário quando foi publicado, ele teria uma classe da mensagem de IPM.Contato.MeuFormulário. Ao criar um novo item baseado no formulário publicado, o campo Classe da Mensagem do item é definido como IPM.Contato.MeuFormulário.

Para obter informações adicionais sobre como trabalhar com as classes de mensagens, consulte o seguinte artigo na Base de Dados de Conhecimento da Microsoft:
201087 OL2000: How to Update Existing Items to Use a New Custom Form

Formulários One-Off

Na típica situação acima, as informações sobre o formulário (a definição de formulário) não são salvas com cada item. O formulário é basicamente "vinculado" utilizando o campo Classe da Mensagem. O tamanho de um item típico pode ser 300 ou 500 bytes.

NOTA: Para fins de simplicidade, este artigo utilizará o termo "formulário vinculado" para indicar uma situação em que a definição de formulário não é salva dentro de um item e o campo Classe da Mensagem é definido para usar um formulário personalizado.

Entretanto, é possível que a definição de formulário seja salva com um item. Os itens que têm uma definição de formulário personalizado dentro deles são conhecidos como sendo "one-offed" ou "um one-off".

Quando um formulário for one-offed, ele pode usar a definição de formulário armazenada com o item ao invés do formulário publicado. Se uma definição de formulário for salva com um item, a Classe da Mensagem do item será alterada de volta para a classe padrão da mensagem para aquele tipo de formulário, tal como IPM.Contato.

Formulários de Modos Padrão Tornam-se One-Offs

Você pode especificar se um formulário é um one-off ao clicar para selecionar a caixa de seleção "Enviar definição do formulário com item" na página Propriedades do formulário quando no modo de projeto. Você tipicamente faria isso quando o formulário não fosse registrado em uma biblioteca de formulários à qual o destinatário teria acesso. Selecionar essa opção garante que a pessoa veja o formulário personalizado quando o item é aberto.

Itens One-Offed Inesperadamente

Suponha que você tenha uma situação de formulários vinculados e que já tenha 10 itens criados que estão utilizando seu formulário personalizado publicado. Se abrir um dos itens e a definição de formulário for alterada para aquela de um item particular, o Outlook pode automaticamente fazer o one-off do item (criar um formulário one-off) e salvar a definição de formulário com o item. O campo Classe da Mensagem pode retornar à classe padrão da mensagem para aquele tipo de item, e o tamanho do item aumenta visivelmente.

A seguir estão situações conhecidas em que os itens podem ser one-offed inesperadamente.

  • Você está em uma situação típica de formulários vinculados, abre um item existente em uma pasta, faz alterações no formulário em modo de projeto e salva ou envia o item.

    Se desejar alterar o formulário para todos os itens na pasta ao invés de abrir um item existente, siga estes passos:

    1. Abra um novo item baseado em seu formulário personalizado.
    2. Faça alterações de projeto de formulário nesse item.
    3. Utilizando esse item, publique novamente o formulário com o mesmo nome.
    4. Feche e não salve as alterações no item.
    Todos os itens na pasta podem agora utilizar o formulário personalizado atualizado na próxima vez que os itens forem abertos, pois a Classe da Mensagem ainda se refere ao mesmo formulário publicado. Na primeira vez que um item for aberto após o formulário ter sido alterado, o Outlook pode exibir rapidamente uma mensagem indicando que o novo formulário está sendo instalado (copiado para o cache de formulários).
  • Você utilizou o código do Microsoft Visual Basic Scripting Edition (VBScript) no formulário personalizado e utilizou alguns métodos ou comandos que estão fazendo com que a definição do formulário do item mude. Os métodos a seguir quase sempre causam esse comportamento:

    • Métodos que existem para o objeto DescriçãoDoFormulário.
    • Métodos relacionados às propriedades dos controles, geralmente para habilitar/desabilitar controles ou ocultá-los/mostrá-los.
    • Métodos relacionados ao objeto Ação.

    NOTA: Nas versões anteriores do Outlook, os métodos ShowFormPage e HideFormPage deram origem a um item one-off. Isso não ocorre mais no Outlook 2000. Para mais informações sobre essa alteração, consulte o seguinte arquivo na Base de Dados de Conhecimento da Microsoft:
    218618 OL2000: ShowFormPage, HideFormPage No Longer Create One-Off Items
  • Você criou um campo para utilizar na pasta, mas o campo realmente não existia no item quando o formulário foi publicado. Nesse caso, se criar um novo item baseado no formulário personalizado e utilizar o recurso de edição na célula do Outlook para inserir um valor em um item em uma exibição de tabela, o Outlook adicionará automaticamente o campo definido pelo usuário ao item separadamente. Isso altera a definição de formulário e, portanto, o item será one-offed. Para obter informações adicionais sobre o uso dos campos definidos pelo usuário nas soluções, consulte o seguinte artigo na Base de Dados de Conhecimento da Microsoft:
    201438 OL2000: Working With User-defined Fields in Solutions

Sintomas Típicos

Embora as soluções e situações variem enormemente, há alguns sinais que podem indicar que os formulários estão se tornando one-offed.

  • Um aviso de vírus de macro é inesperadamente exibido quando um item é aberto. Os formulários one-off são uma causa comum do aviso de segurança Habilitar/Desabilitar que o Outlook exibe se um formulário tiver um código do VBScript. Já que o código não está em um formulário publicado ou confiável, mas na verdade no próprio item, o Outlook pode sempre exibir o aviso. Idealmente, você deve tentar evitar a situação que está fazendo com que o formulário seja one-offed no primeiro local.

    Para obter mais informações sobre o aviso de segurança, consulte o seguinte artigo na Base de Dados de Conhecimento da Microsoft:
    207913 OL2000: Why Outlook Displays a Security Warning Message When You Open an Item
  • O tamanho de um item aumenta inesperadamente.
  • O ícone para um item muda inesperadamente, tipicamente indicando uma alteração no campo da classe da mensagem.

Identificando um Item One-Off

Se um item ficar inesperadamente one-offed e você notar que a caixa de seleção "Enviar definição do formulário com item" não está selecionada, necessariamente isso não significará que a definição de formulário não será salva com o item.

Um item será um one-off se o campo Classe da Mensagem for a classe padrão da mensagem para aquele tipo de item, mas quando o item for aberto, o formulário utilizado para exibir o item será um formulário personalizado.

Ao desenvolver uma solução baseada na pasta, você pode querer exibir os campos Classe da Mensagem e Tamanho em uma exibição de tabela para que possa certificar-se de que os itens na pasta estão se comportando conforme esperado. Além disso, uma alteração no ícone para um item quase sempre indica uma mudança de status, mas você deve reiniciar o Outlook para ter certeza de que o ícone correto está sendo exibido.

Passos para Reproduzir o Problema

A Microsoft fornece exemplos de programação apenas para ilustração, sem garantia explícita ou implícita, incluindo, mas sem limitar a, as garantias de comercialização e/ou adequação para uma finalidade em especial. Este artigo pressupõe que você conhece a linguagem de programação que está sendo demonstrada e também as ferramentas usadas para criar e depurar procedimentos. Os profissionais de suporte da Microsoft podem ajudar a explicar a funcionalidade de um procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades. Se a sua experiência com programação for limitada, entre em contato com um Parceiro Certificado Microsoft ou com a linha paga de consultas da Microsoft no número (800) 936-5200. Para obter informações adicionais sobre Parceiros Certificados da Microsoft, favor visitar o seguinte site da Microsoft na Web:
http://www.microsoft.com/partner/referral/
Para obter informações adicionais sobre as opções de suporte disponíveis e sobre como entrar em contato com a Microsoft, visite o seguinte site da Microsoft na Web:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
Os seguintes passos ilustram como adicionar um campo definido pelo usuário a um item pode criar um formulário one-off.
  1. Abra uma nova mensagem de correio.
  2. No menu Ferramentas, clique em Formulários e então clique em Criar Este Formulário.
  3. Utilizando a Caixa de Ferramentas de Controle, adicione um BotãoDeComando à página P.2.
  4. No menu Formulário, clique em Exibir Código. Adicione o seguinte código do VBScript no Editor de VBScript e então feche o editor:
    Sub CommandButton1_click()
       ' This changes the form definition by adding a text field.
       Set MyProp = Item.UserProperties.Add("MyField",1)
       ' Send the item
       Item.Send
    End Sub
    					
  5. No menu Ferramentas, clique em Publicar Formulário Como e então publique o formulário na Caixa de Entrada como "Formulário1"
  6. Quando solicitada a ativação da opção "Enviar definição do formulário com item", clique em Não. Feche e não salve as alterações para o formulário.
  7. No menu Ações, clique em Novo Formulário1 para abrir um item baseado no formulário.
  8. Enderece-o para si mesmo.
  9. Utilize o BotãoDeComando em P.2 para enviar a mensagem.
  10. Ao receber a mensagem, abra-a e leia-a.
Note que a mensagem de aviso de macro aparece. Além disso, o tamanho do item é relativamente grande (~6K).

Solução alternativa

Se precisar ter uma situação em que um item pode se tornar um one-off, você poderá contornar os efeitos colaterais de um item one-off ao redefinir o campo da classe da mensagem e então salvar o item no código. Como um exemplo, utilize o código a seguir ao invés do código dado acima na seção "Passos para Reproduzir o Problema" e o item pode não ativar a mensagem de aviso de macro.
Sub CommandButton1_click()
   ' Save the MessageClass property
   sSaveMessageClass = Item.MessageClass

   ' This changes the form definition
   Set MyProp = Item.Userproperties.Add("MyField", 1)

   ' Restore the MessageClass property
   Item.MessageClass = sSaveMessageClass

   ' Save the changes to the form
   Item.Save

   ' Send the item
   Item.Send

End Sub
				
NOTA: Se você alterar programaticamente a classe da mensagem de um item, o tamanho do item não será reduzido. Não há uma forma de remover confiavelmente a definição de formulário indesejável de um item se não criar um novo item sem a definição de formulário e copiar os dados do item antigo para o novo.

Referências

Para obter informações adicionais sobre recursos disponíveis e respostas para perguntas feitas geralmente sobre soluções do Microsoft Outlook 2000, consulte o seguinte artigo na Microsoft Knowledge Base:
146636 OL2000: Questões Sobre Formulários Personalizados e Soluções do Outlook

Propriedades

ID do artigo: 207896 - Última revisão: sexta-feira, 11 de outubro de 2013 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft Outlook 2000 Standard Edition
Palavras-chave: 
kbnosurvey kbarchive kbinfo KB207896

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