FieldPrivate

FieldPrivate class

Implementerar fältet PRIVATE.

public class FieldPrivate : Field

Konstruktörer

namn Beskrivning
FieldPrivate() Default_Constructor

Egenskaper

namn Beskrivning
DisplayResult { get; } Hämtar texten som representerar det visade fältresultatet.
End { get; } Hämtar noden som representerar fältänden.
Format { get; } Får enFieldFormat objekt som ger maskinskriven åtkomst till fältets formatering.
IsDirty { get; set; } Hämtar eller ställer in om det aktuella resultatet av fältet inte längre är korrekt (inaktuellt) på grund av andra ändringar som gjorts i dokumentet.
IsLocked { get; set; } Hämtar eller ställer in om fältet är låst (ska inte räkna om resultatet).
LocaleId { get; set; } Hämtar eller ställer in LCID för fältet.
Result { get; set; } Hämtar eller ställer in text som är mellan fältavgränsaren och fältslutet.
Separator { get; } Hämtar noden som representerar fältseparatorn. Kan vara null.
Start { get; } Hämtar noden som representerar början av fältet.
virtual Type { get; } Hämtar fälttypen Microsoft Word.

Metoder

namn Beskrivning
GetFieldCode() Returnerar text mellan fältstart och fältavgränsare (eller fältslut om det inte finns någon avgränsare). Både fältkod och fältresultat för underordnade fält ingår.
GetFieldCode(bool) Returnerar text mellan fältstart och fältavgränsare (eller fältslut om det inte finns någon avgränsare).
Remove() Tar bort fältet från dokumentet. Returnerar en nod direkt efter fältet. Om fältets slut är den sista child av dess överordnade nod, returnerar dess överordnade stycke. Om fältet redan är borttaget, returneras null .
Unlink() Utför fältavlänkningen.
Update() Utför fältuppdateringen. Kastar om fältet redan uppdateras.
Update(bool) Utför en fältuppdatering. Kastar om fältet redan uppdateras.

Anmärkningar

Ger ett privat lagringsområde. Det här fältet används för att lagra data för dokument som konverterats från andra filformat.

Exempel

Visar hur man bearbetar PRIVATA fält.

{
    // Öppna ett Corel WordPerfect-dokument som vi har konverterat till .docx-format.
    Document doc = new Document(MyDir + "Field sample - PRIVATE.docx");

    // WordPerfect 5.x/6.x-dokument som det vi har laddat kan innehålla PRIVATA fält.
    // Microsoft Word bevarar PRIVATA fält under laddnings-/sparaoperationer,
    // men ger dem ingen funktionalitet.
    FieldPrivate field = (FieldPrivate)doc.Range.Fields[0];

    Assert.AreEqual(" PRIVATE \"My value\" ", field.GetFieldCode());
    Assert.AreEqual(FieldType.FieldPrivate, field.Type);

    // Vi kan också infoga PRIVATA fält med hjälp av en dokumentbyggare.
    DocumentBuilder builder = new DocumentBuilder(doc);
    builder.InsertField(FieldType.FieldPrivate, true);

    // Dessa fält är inte ett gångbart sätt att skydda känslig information.
    // Om inte bakåtkompatibilitet med äldre versioner av WordPerfect är avgörande,
    // vi kan säkert ta bort dessa fält. Vi kan göra detta med hjälp av en DocumentVisiitor-implementering.
    Assert.AreEqual(2, doc.Range.Fields.Count);

    FieldPrivateRemover remover = new FieldPrivateRemover();
    doc.Accept(remover);

    Assert.AreEqual(2, remover.GetFieldsRemovedCount());
    Assert.AreEqual(0, doc.Range.Fields.Count);
}

/// <summary>
/// Tar bort alla påträffade PRIVATA fält.
/// </summary>
public class FieldPrivateRemover : DocumentVisitor
{
    public FieldPrivateRemover()
    {
        mFieldsRemovedCount = 0;
    }

    public int GetFieldsRemovedCount()
    {
        return mFieldsRemovedCount;
    }

    /// <summary>
    /// Anropas när en FieldEnd-nod påträffas i dokumentet.
    /// Om noden tillhör ett PRIVAT fält tas hela fältet bort.
    /// </summary>
    public override VisitorAction VisitFieldEnd(FieldEnd fieldEnd)
    {
        if (fieldEnd.FieldType == FieldType.FieldPrivate)
        {
            fieldEnd.GetField().Remove();
            mFieldsRemovedCount++;
        }

        return VisitorAction.Continue;
    }

    private int mFieldsRemovedCount;
}

Se även