Compartilhar via


Estrutura de fluxo FieldDefinition

Aplica-se a: Outlook 2013 | Outlook 2016

Uma estrutura de fluxo FieldDefinition contém a definição de campo de um campo definido pelo usuário ou um conjunto de configurações de associação de dados para um campo interno.

Você pode manipular programaticamente uma estrutura de fluxo FieldDefinition se a estrutura contiver a definição de campo de um campo definido pelo usuário. Você não deve tentar criar ou modificar programaticamente uma estrutura FieldDefinition se a estrutura contiver configurações para um campo interno. Você deve usar o Microsoft Outlook Forms Designer para manter essas configurações para campos internos.

Observação

O Outlook dá suporte a dois formatos de definições de campo: PropDefV1 e PropDefV2. O formato PropDefV1 de definições de campo contém os seguintes elementos de dados: Flags, VT, DispId, NmidNameLength, NmidName, NameANSI, FormulaANSI, ValidationRuleANSI, ValidationTextANSI e ErrorANSI. O formato PropDefV2 contém os mesmos elementos e os elementos InternalType e SkipBlocks.

O Outlook não mantém uma versão Unicode para os elementos de dados FormulaANSI, ValidationRuleANSI e ValidationTextANSI no formato de definição de campo PropDefV2. Se esses elementos contiverem caracteres não ASCII, esses caracteres poderão ser interpretados de forma inconsistente, dependendo da Página de Código ANSI do computador na qual o Outlook está em execução. Portanto, você deve usar apenas valores de cadeia de caracteres que consistem inteiramente em caracteres ASCII para esses elementos de dados.

Os elementos de dados neste fluxo são armazenados em ordem de bytes de pequeno padrão, seguindo-se imediatamente uns aos outros na ordem especificada abaixo.

  • Sinalizadores: DWORD (4 bytes), uma combinação de zero ou mais sinalizadores cujos valores e significados estão listados na tabela a seguir.

    Nome do sinalizador Valor Descrição
    PDO_IS_CUSTOM
    0x00000001
    A estrutura FieldDefinition contém uma definição de um campo definido pelo usuário.
    PDO_REQUIRED
    0x00000002
    Para um controle de formulário associado a esse campo, a caixa de marcar para um valor é necessária para esse campo é selecionada na guia Validação da caixa de diálogo Propriedades.
    PDO_PRINT_SAVEAS
    0x00000004
    Para um controle de formulário associado a esse campo, a caixa de marcar para Incluir esse campo para impressão e Salvar Como está selecionada na guia Validação da caixa de diálogo Propriedades.
    PDO_CALC_AUTO
    0x00000008
    Para um controle de formulário associado a esse campo, a caixa de marcar para Calcular essa fórmula automaticamente é selecionada na guia Valor da caixa de diálogo Propriedades.
    PDO_FT_CONCAT
    0x00000010
    Este é um campo do tipo Combinação e tem os campos de junção e todos os fragmentos de texto entre si selecionados na caixa de diálogo Campo de Fórmula de Combinação .
    PDO_FT_SWITCH
    0x00000020
    Esse campo é do tipo Combinação e tem o campo Mostrando apenas o primeiro campo não vazio, ignorando a opção subsequente selecionada na caixa de diálogo Campo de Fórmula de Combinação .
    PDO_PRINT_SAVEAS_DEF
    0x00000040
    Esse sinalizador não é usado pelo Outlook, mas está incluído em todas as definições de campo definidas pelo usuário.
  • VT: WORD (2 bytes), o tipo de dados do campo, que é uma constante da enumeração VARENUM .

  • DispId: DWORD (4 bytes), o identificador de expedição do campo. Para um campo definido pelo usuário, o valor é 0.

  • NmidNameLength: WORD (2 bytes), o número de elementos na matriz NmidName.

  • NmidName: uma matriz de WCHAR. Para uma definição de campo definida pelo usuário, esta é a representação unicode (UTF-16) do nome do campo. A contagem dessa matriz é igual a NmidNameLength.

  • NameANSI: uma estrutura de fluxo PackedAnsiString . Essa é a representação ANSI do nome do campo.

  • FormulaANSI: uma estrutura de fluxo PackedAnsiString. Esta é uma representação ANSI da fórmula de cálculo para o campo. Ele é mostrado na seção Valor Inicial da guia Valor da caixa de diálogo Propriedades de um controle de formulário associado a esse campo.

  • ValidationRuleANSI: uma estrutura de fluxo PackedAnsiString. Esta é uma representação ANSI da fórmula de validação do campo. Ele é mostrado na caixa de texto da Fórmula de Validação na guia Validação da caixa de diálogo Propriedades de um controle de formulário associado a esse campo.

  • ValidationTextANSI: uma estrutura de fluxo PackedAnsiString. Esta é uma representação ANSI do texto de falha de validação do campo. Ele será mostrado na caixa de texto para Exibir essa mensagem se a validação falhar na guia Validação da caixa de diálogo Propriedades de um controle de formulário vinculado a esse campo.

  • ErrorANSI: uma estrutura de fluxo PackedAnsiString. O Outlook não usa esse elemento; você deve definir esse elemento como uma cadeia de caracteres vazia.

  • InternalType: DWORD (4 bytes), o tipo interno do campo. Esse elemento de dados só estará presente se o formato de definição de campo for PropDefV2. O tipo interno é um dos seguintes valores, cada um dos quais corresponde a um tipo na caixa de diálogo Novo Campo para campos definidos pelo usuário.

    Nome do tipo interno Valor Tipo correspondente na caixa de diálogo Novo Campo
    iTypeString
    0
    Text
    iTypeNumber
    1
    Número
    iTypePercent
    2
    Percent
    Moeda
    3
    Currency
    iTypeBool
    4
    Yes/No
    iTypeDateTime
    5
    Data/Hora
    iTypeDuration
    6
    Duration
    iTypeCombination
    7
    Combinação, com o mostrando apenas o primeiro campo não vazio, ignorando a opção subsequente selecionada na caixa de diálogo Campo de Fórmula de Combinação .
    iTypeFormula
    8
    Fórmula
    iTypeResult
    9
    Esse tipo não é usado para campos definidos pelo usuário.
    iTypeVariant
    10
    Esse tipo não é usado para campos definidos pelo usuário.
    iTypeFloatResult
    11
    Esse tipo não é usado para campos definidos pelo usuário.
    iTypeConcat
    12
    Combinação, com os campos de junção e todos os fragmentos de texto entre si selecionados na caixa de diálogo Campo de Fórmula de Combinação .
    iTypeKeywords
    13
    Palavra-chave
    iTypeInteger
    14
    Integer
  • SkipBlocks: uma série de uma ou mais estruturas de fluxo SkipBlock . Esse elemento de dados só estará presente se o formato de definição de campo for PropDefV2. Se o formato de definição de campo for PropDefV2, a série deverá conter pelo menos uma estrutura SkipBlock, a estrutura SkipBlock que tem o elemento De tamanho de dados igual a 0 e a série deve começar e terminar com essa estrutura SkipBlock.

    A finalidade de uma estrutura SkipBlock depende de sua posição relativa na série SkipBlocks. Se a definição de campo estiver no formato PropDefV2 e a primeira estrutura não for a estrutura de término (o elemento Tamanho de dados for maior que 0), o Outlook pressupõe que a primeira estrutura SkipBlock especifique o nome do campo em Unicode (UTF-16).

    Importante

    Se o primeiro SkipBlock for a estrutura de término, o elemento de dados NameANSI será usado para determinar o nome do campo. Se essa cadeia de caracteres contiver caracteres que não sejam ASCII, esses caracteres poderão ser interpretados de forma inconsistente, dependendo da página de código ANSI do computador na qual o Outlook está em execução. Para evitar tais inconsistências, certifique-se de sempre especificar o primeiro SkipBlock nas definições de campo que você cria, pelo menos quando o nome do campo incluir caracteres não ASCII.

    Se uma versão futura de um formato de definição de campo introduzir partes adicionais de dados no fluxo FieldDefinition, esses dados poderão ser armazenados como estruturas adicionais de fluxo SkipBlock na série SkipBlocks antes da estrutura skipblock terminada que tem o elemento de dados Size igual a 0. Versões anteriores do Outlook podem ignorar com segurança essas estruturas extras do SkipBlock até a estrutura de SkipBlock que termina e ainda processar corretamente todos os blocos que eles dão suporte.

Confira também