Clase Fields (Word VBA)

Una colección de objetos Field que representan todos los campos de una selección, intervalo o documento. Para usar una variable de clase Fields, primero debe ser instanciado, por ejemplo


Dim flds as Fields
Set flds = ActiveDocument.Fields

For Each

A continuación, se muestra un ejemplo de cómo procesar los elementos Fields en una colección.


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

Add

Agrega un objeto Field a la colección Fields .

No se pueden insertar algunos campos (como wdFieldOCX y wdFieldFormCheckBox) mediante el método Add de la colección Fields .

Add (Range, Type, Text, PreserveFormatting)


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

Arguments

Un argumento con nombre

Range (Range) - Intervalo donde desea agregar el campo.

Optional arguments

Los siguientes argumentos son opcionales

Type (WdFieldType) - Puede ser cualquier constante WdFieldType .

Aquí puede ver valores posibles para WdFieldType

Text (String) - Texto adicional necesario para el campo.

PreserveFormatting (Boolean) - True para que se conserve el formato que se aplique al campo durante las actualizaciones.

Count

Devuelve un Long que representa el número de campos de la colección.


Dim lngCount As Long
lngCount = ActiveDocument.Fields.Count

Item

Devuelve un objeto Field individual de una colección.

Item (Index)

Index: El objeto individual que se va a devolver.


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

Locked

True si todos los campos de la colección Fields están bloqueados.

Esta propiedad puede ser true, falseo wdUndefined (si algunos de los campos de la colección están bloqueados y otros no).


Selection.Fields.Locked = True

ToggleShowCodes

Cambia la visualización de los campos entre códigos de campo y los resultados del campo.


Selection.Fields.ToggleShowCodes

Reemplaza todos los campos de la colección Fields por sus resultados más recientes.

Al desvincular un campo, el resultado actual se convierte en texto o en un gráfico y ya no se puede actualizar automáticamente.


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

Update

Actualiza el resultado del objeto Fields.

Devuelve 0 (cero) si no se producen errores al actualizar los campos, o devuelve un Long que representa el índice del primer campo que contiene un error.


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

UpdateSource

Guarda los cambios realizados en los resultados de un campo INCLUDETEXT en el documento de origen.

El formato del documento de origen deberá ser documento de Word.


ActiveDocument.Fields.UpdateSource