FieldEnd

FieldEnd class

Représente la fin d’un champ Word dans un document.

public class FieldEnd : FieldChar

Propriétés

Nom La description
CustomNodeId { get; set; } Spécifie l’identifiant de nœud personnalisé.
virtual Document { get; } Obtient le document auquel ce nœud appartient.
FieldType { get; } Renvoie le type du champ.
Font { get; } Fournit l’accès à la mise en forme de la police de cet objet.
HasSeparator { get; } Retours vrai si ce champ a un séparateur.
virtual IsComposite { get; } Renvoie true si ce nœud peut contenir d’autres nœuds.
IsDeleteRevision { get; } Renvoie true si cet objet a été supprimé dans Microsoft Word alors que le suivi des modifications était activé.
IsDirty { get; set; } Obtient ou définit si le résultat actuel du champ n’est plus correct (périmé) en raison d’autres modifications apportées au document.
IsFormatRevision { get; } Renvoie true si la mise en forme de l’objet a été modifiée dans Microsoft Word alors que le suivi des modifications était activé.
IsInsertRevision { get; } Renvoie true si cet objet a été inséré dans Microsoft Word alors que le suivi des modifications était activé.
IsLocked { get; set; } Obtient ou définit si le champ parent est verrouillé (ne doit pas recalculer son résultat).
IsMoveFromRevision { get; } Retours vrai si cet objet a été déplacé (supprimé) dans Microsoft Word alors que le suivi des modifications était activé.
IsMoveToRevision { get; } Retours vrai si cet objet a été déplacé (inséré) dans Microsoft Word alors que le suivi des modifications était activé.
NextSibling { get; } Obtient le nœud suivant immédiatement ce nœud.
override NodeType { get; } RetoursFieldEnd .
ParentNode { get; } Obtient le parent immédiat de ce nœud.
ParentParagraph { get; } Récupère le parentParagraph de ce nœud.
PreviousSibling { get; } Obtient le nœud précédant immédiatement ce nœud.
Range { get; } Renvoie un Intervalle objet qui représente la partie d’un document contenue dans ce nœud.

Méthodes

Nom La description
override Accept(DocumentVisitor) Accepte un visiteur.
Clone(bool) Crée un doublon du nœud.
GetAncestor(NodeType) Obtient le premier ancêtre du spécifiéNodeType .
GetAncestor(Type) Obtient le premier ancêtre du type d’objet spécifié.
GetField() Renvoie un champ pour le champ car.
override GetText() Obtient le caractère spécial que ce nœud représente.
NextPreOrder(Node) Obtient le nœud suivant selon l’algorithme de traversée de l’arbre de pré-ordre.
PreviousPreOrder(Node) Obtient le nœud précédent selon l’algorithme de parcours de l’arbre de pré-ordre.
Remove() Se supprime du parent.
ToString(SaveFormat) Exporte le contenu du nœud dans une chaîne au format spécifié.
ToString(SaveOptions) Exporte le contenu du nœud dans une chaîne à l’aide des options d’enregistrement spécifiées.

Remarques

FieldEnd est un nœud de niveau en ligne et représenté par leFieldEndChar caractère de contrôle dans le document.

FieldEnd ne peut être qu’un enfant deParagraph.

Un champ complet dans un document Microsoft Word est une structure complexe composée de un caractère de début de champ, un code de champ, un caractère séparateur de champ, un résultat de champ et un caractère de fin de champ. Certains champs n’ont qu’un début de champ, un code de champ et une fin de champ.

Pour insérer facilement un nouveau champ dans un document, utilisez laInsertField méthode .

Exemples

Montre comment travailler avec une collection de champs.

{
    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);

    // Itérer sur la collection de champs et imprimer le contenu et le type
    // de chaque champ à l'aide d'une implémentation de visiteur personnalisée.
    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>
/// Documenter l'implémentation du visiteur qui imprime les informations de champ.
/// </summary>
public class FieldVisitor : DocumentVisitor
{
    public FieldVisitor()
    {
        mBuilder = new StringBuilder();
    }

    /// <summary>
    /// Obtient le texte brut du document qui a été accumulé par le visiteur.
    /// </summary>
    public string GetText()
    {
        return mBuilder.ToString();
    }

    /// <summary>
    /// Appelé lorsqu'un nœud FieldStart est rencontré dans le document.
    /// </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>
    /// Appelé lorsqu'un nœud FieldSeparator est rencontré dans le document.
    /// </summary>
    public override VisitorAction VisitFieldSeparator(FieldSeparator fieldSeparator)
    {
        mBuilder.AppendLine("\tFound separator: " + fieldSeparator.GetText());

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Appelé lorsqu'un nœud FieldEnd est rencontré dans le document.
    /// </summary>
    public override VisitorAction VisitFieldEnd(FieldEnd fieldEnd)
    {
        mBuilder.AppendLine("End of field: " + fieldEnd.FieldType);

        return VisitorAction.Continue;
    }

    private readonly StringBuilder mBuilder;
}

Voir également