FieldChar

FieldChar class

表示文档中字段字符的节点的基类。

public abstract class FieldChar : SpecialChar

特性

姓名 描述
CustomNodeId { get; set; } 指定自定义节点标识符。
virtual Document { get; } 获取该节点所属的文档。
FieldType { get; } 返回字段的类型。
Font { get; } 提供对此对象的字体格式的访问。
virtual IsComposite { get; } 如果此节点可以包含其他节点,则返回 true。
IsDeleteRevision { get; } 如果在启用更改跟踪时在 Microsoft Word 中删除了此对象,则返回 true。
IsDirty { get; set; } 获取或设置字段的当前结果是否由于对文档进行的其他修改 而不再正确(陈旧)。
IsFormatRevision { get; } 如果启用更改跟踪时在 Microsoft Word 中更改了对象的格式,则返回 true。
IsInsertRevision { get; } 如果在启用更改跟踪时将此对象插入 Microsoft Word,则返回 true。
IsLocked { get; set; } 获取或设置父字段是否被锁定(不应重新计算其结果)。
IsMoveFromRevision { get; } 返回 真的如果启用更改跟踪时此对象在 Microsoft Word 中被移动(删除)。
IsMoveToRevision { get; } 返回 真的如果启用更改跟踪时在 Microsoft Word 中移动(插入)此对象。
NextSibling { get; } 获取紧跟此节点的节点。
override NodeType { get; } 返回 NodeType.SpecialChar.
ParentNode { get; } 获取此节点的直接父节点。
ParentParagraph { get; } 检索父级Paragraph这个节点的.
PreviousSibling { get; } 获取紧接在此节点之前的节点。
Range { get; } 返回一个 范围表示此节点中包含的文档部分的对象。

方法

姓名 描述
override Accept(DocumentVisitor) 接受访客。
Clone(bool) 创建节点的副本。
GetAncestor(NodeType) 获取指定的第一个祖先NodeType.
GetAncestor(Type) 获取指定对象类型的第一个祖先。
GetField() 为字段 char 返回一个字段。
override GetText() 获取此节点代表的特殊字符。
NextPreOrder(Node) 根据前序树遍历算法获取下一个节点。
PreviousPreOrder(Node) 根据前序树遍历算法获取上一个节点。
Remove() 从父级中移除自身。
ToString(SaveFormat) 将节点的内容导出为指定格式的字符串。
ToString(SaveOptions) 使用指定的保存选项将节点的内容导出为字符串。

评论

Microsoft Word 文档中的完整字段是一个复杂的结构,由 字段起始字符、字段代码、字段分隔符、字段结果 和字段结束字符组成。有些字段只有字段开始、字段代码和字段结束。

要轻松地将新字段插入到文档中,请使用InsertField 方法。

例子

显示如何使用 FieldStart 节点。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

FieldDate field = (FieldDate)builder.InsertField(FieldType.FieldDate, true);
field.Format.DateTimeFormat = "dddd, MMMM dd, yyyy";
field.Update();

FieldChar fieldStart = field.Start;

Assert.AreEqual(FieldType.FieldDate, fieldStart.FieldType);
Assert.AreEqual(false, fieldStart.IsDirty);
Assert.AreEqual(false, fieldStart.IsLocked);

// 检索代表文档中字段的外观对象。
field = (FieldDate)fieldStart.GetField();

Assert.AreEqual(false, field.IsLocked);
Assert.AreEqual(" DATE  \\@ \"dddd, MMMM dd, yyyy\"", field.GetFieldCode());

// 更新字段以显示当前日期。
field.Update();

也可以看看