FieldSeparator

FieldSeparator class

Representa un separador de campos de Word que separa el código de campo del resultado del campo.

Para obtener más información, visite elTrabajar con campos artículo de documentación.

public class FieldSeparator : FieldChar

Propiedades

NombreDescripción
CustomNodeId { get; set; }Especifica el identificador de nodo personalizado.
virtual Document { get; }Obtiene el documento al que pertenece este nodo.
FieldType { get; }Devuelve el tipo de campo.
Font { get; }Proporciona acceso al formato de fuente de este objeto.
virtual IsComposite { get; }Devolucionesverdadero si este nodo puede contener otros nodos.
IsDeleteRevision { get; }Devuelve verdadero si este objeto se eliminó en Microsoft Word mientras el seguimiento de cambios estaba habilitado.
IsDirty { get; set; }Obtiene o establece si el resultado actual del campo ya no es correcto (obsoleto) debido a otras modificaciones realizadas en el documento.
IsFormatRevision { get; }Devuelve verdadero si se cambió el formato del objeto en Microsoft Word mientras el seguimiento de cambios estaba habilitado.
IsInsertRevision { get; }Devuelve verdadero si este objeto se insertó en Microsoft Word mientras el seguimiento de cambios estaba habilitado.
IsLocked { get; set; }Obtiene o establece si el campo principal está bloqueado (no debe volver a calcular su resultado).
IsMoveFromRevision { get; }Devolucionesverdadero si este objeto se movió (eliminó) en Microsoft Word mientras el seguimiento de cambios estaba habilitado.
IsMoveToRevision { get; }Devolucionesverdadero si este objeto se movió (insertó) en Microsoft Word mientras el seguimiento de cambios estaba habilitado.
NextSibling { get; }Obtiene el nodo que sigue inmediatamente a este nodo.
override NodeType { get; }DevolucionesFieldSeparator .
ParentNode { get; }Obtiene el padre inmediato de este nodo.
ParentParagraph { get; }Recupera el padreParagraph de este nodo.
PreviousSibling { get; }Obtiene el nodo inmediatamente anterior a este nodo.
Range { get; }Devuelve unRange objeto que representa la parte de un documento contenido en este nodo.

Métodos

NombreDescripción
override Accept(DocumentVisitor)Acepta un visitante.
Clone(bool)Crea un duplicado del nodo.
GetAncestor(NodeType)Obtiene el primer ancestro del especificadoNodeType .
GetAncestor(Type)Obtiene el primer antepasado del tipo de objeto especificado.
GetField()Devuelve un campo para el campo char.
override GetText()Obtiene el carácter especial que representa este nodo.
NextPreOrder(Node)Obtiene el siguiente nodo según el algoritmo transversal del árbol de pedidos anticipados.
PreviousPreOrder(Node)Obtiene el nodo anterior según el algoritmo transversal del árbol de pedidos anticipados.
Remove()Se elimina del padre.
ToString(SaveFormat)Exporta el contenido del nodo a una cadena en el formato especificado.
ToString(SaveOptions)Exporta el contenido del nodo a una cadena usando las opciones de guardado especificadas.

Observaciones

FieldSeparator es un nodo de nivel en línea y representado por elFieldSeparatorChar carácter de control en el documento.

FieldSeparator sólo puede ser hijo deParagraph.

Un campo completo en un documento de Microsoft Word es una estructura compleja que consta de un carácter de inicio de campo, un código de campo, un carácter separador de campo, un resultado de campo y un carácter de fin de campo. Algunos campos solo tienen inicio de campo, código de campo y final de campo.

Para insertar fácilmente un nuevo campo en un documento, utilice elInsertField Método .

Ejemplos

Muestra cómo trabajar con una colección de campos.

public void FieldCollection()
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    builder.InsertField(" DATE \\@ \"dddd, d MMMM yyyy\" ");
    builder.InsertField(" TIME ");
    builder.InsertField(" REVNUM ");
    builder.InsertField(" AUTHOR  \"John Doe\" ");
    builder.InsertField(" SUBJECT \"My Subject\" ");
    builder.InsertField(" QUOTE \"Hello world!\" ");
    doc.UpdateFields();

    FieldCollection fields = doc.Range.Fields;

    Assert.AreEqual(6, fields.Count);

    // Iterar sobre la colección de campos e imprimir contenidos y escribir
    // de cada campo utilizando una implementación de visitante personalizada.
    FieldVisitor fieldVisitor = new FieldVisitor();

    using (IEnumerator<Field> fieldEnumerator = fields.GetEnumerator())
    {
        while (fieldEnumerator.MoveNext())
        {
            if (fieldEnumerator.Current != null)
            {
                fieldEnumerator.Current.Start.Accept(fieldVisitor);
                fieldEnumerator.Current.Separator?.Accept(fieldVisitor);
                fieldEnumerator.Current.End.Accept(fieldVisitor);
            }
            else
            {
                Console.WriteLine("There are no fields in the document.");
            }
        }
    }

    Console.WriteLine(fieldVisitor.GetText());
}

/// <summary>
/// Implementación del visitante del documento que imprime la información del campo.
/// </summary>
public class FieldVisitor : DocumentVisitor
{
    public FieldVisitor()
    {
        mBuilder = new StringBuilder();
    }

    /// <summary>
    /// Obtiene el texto sin formato del documento acumulado por el visitante.
    /// </summary>
    public string GetText()
    {
        return mBuilder.ToString();
    }

    /// <summary>
    /// Se llama cuando se encuentra un nodo FieldStart en el documento.
    /// </summary>
    public override VisitorAction VisitFieldStart(FieldStart fieldStart)
    {
        mBuilder.AppendLine("Found field: " + fieldStart.FieldType);
        mBuilder.AppendLine("\tField code: " + fieldStart.GetField().GetFieldCode());
        mBuilder.AppendLine("\tDisplayed as: " + fieldStart.GetField().Result);

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Se llama cuando se encuentra un nodo FieldSeparator en el documento.
    /// </summary>
    public override VisitorAction VisitFieldSeparator(FieldSeparator fieldSeparator)
    {
        mBuilder.AppendLine("\tFound separator: " + fieldSeparator.GetText());

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Se llama cuando se encuentra un nodo FieldEnd en el documento.
    /// </summary>
    public override VisitorAction VisitFieldEnd(FieldEnd fieldEnd)
    {
        mBuilder.AppendLine("End of field: " + fieldEnd.FieldType);

        return VisitorAction.Continue;
    }

    private readonly StringBuilder mBuilder;
}

Ver también