Classe Fields (Word VBA)

Uma coleção de objetos Field que representa todos os campos em uma seleção, intervalo ou documento. Para usar uma variável de classe Fields, ela primeiro precisa ser instanciada por exemplo


Dim flds as Fields
Set flds = ActiveDocument.Fields

For Each

Aqui está um exemplo de processamento dos itens Fields em uma coleção.


Dim fld As Field
For Each fld In ActiveDocument.Fields
	
Next fld

Add

Adiciona um objeto Field à coleção Fields . Retorna o objeto Field no intervalo especificado.

Você não pode inserir alguns campos (como wdFieldOCX e wdFieldFormCheckBox) usando o método Add da coleção Fields . Ao contrário, você deve usar métodos específicos como AddOLEControl e Add para a coleção FormFields.

Add (Range, Type, Text, PreserveFormatting)


Selection.Collapse Direction:=wdCollapseStart 
Set myField = ActiveDocument.Fields.Add(Range:=Selection.Range, _ 
 Type:=wdFieldUserName)

Arguments

O seguinte argumento é necessário

Range (Range) - O intervalo no qual você deseja incluir o campo. Se o intervalo não estiver recolhido, o campo substituirá o intervalo.

Optional arguments

Os seguintes argumentos são opcionais

Type (WdFieldType) - Pode ser qualquer constante WdFieldType . Para obter uma lista de constantes válidas, consulte o Pesquisador de objetos do Microsoft Visual Basic. O valor padrão é wdFieldEmpty.

Aqui você pode encontrar os valores possíveis para WdFieldType

Text (String) - Texto adicional necessário para o campo. Por exemplo, se quiser especificar uma opção para o campo, você deve acrescentá-la aqui.

PreserveFormatting (Boolean) - True para fazer com que a formatação aplicada ao campo seja preservada durante as atualizações.

Count

Retorna um Long que representa o número de campos na coleção. Somente leitura.


Dim lngCount As Long
lngCount = ActiveDocument.Fields.Count

Item

Retorna um objeto Field individual em uma coleção.

Item (Index)

Index: O objeto individual a ser retornado. Pode ser um Long que indica a posição ordinal do objeto individual.


Dim fld As Field
Set fld = ActiveDocument.Fields(Index:=1)

Locked

True se todos os campos na coleção Fields estão protegidos. Long de leitura/gravação.

Essa propriedade pode ser true, falseou wdUndefined (se alguns campos da coleção estiverem bloqueados e outros não).


Selection.Fields.Locked = True

ToggleShowCodes

Alterna a exibição dos campos entre códigos de campo e resultados de campo. Use a propriedade ShowCodes para controlar a exibição de um campo individual.


Selection.Fields.ToggleShowCodes

Substitui todos os campos na coleção Fields por seus resultados mais recentes.

Quando você desvincula um campo, seu resultado atual é convertido em texto ou em um elemento gráfico, não podendo mais ser atualizado automaticamente. Observe que alguns campos — como XE (Entrada de Índice) e SEQ (Sequência) — não podem ser desvinculados.


With ActiveDocument.Sections(1).Range.Fields 
 .Update 
 .Unlink 
End With

Update

Atualiza o resultado do objeto de campos.

Retorna 0 (zero) se nenhum erro ocorrer quando os campos são atualizados ou retorna um Long que representa o índice do primeiro campo que contém um erro.


If ActiveDocument.Fields.Update = 0 Then 
 MsgBox "Update Successful" 
Else 
 MsgBox "Field " & ActiveDocument.Fields.Update & _ 
 " has an error" 
End If

UpdateSource

Salva as alterações feitas nos resultados de um campo INCLUDETEXT de volta para o documento de origem.

O documento de origem precisa estar formatado como um documento do Word.


ActiveDocument.Fields.UpdateSource