Field

Field class

表示 Microsoft Word 文档字段。

public class Field

特性

姓名 描述
DisplayResult { get; } 获取表示显示字段结果的文本。
End { get; } 获取代表字段end的节点。
Format { get; } 得到一个FieldFormat提供对字段格式的类型化访问的对象。
IsDirty { get; set; } 获取或设置字段的当前结果是否由于对文档的其他修改而不再正确(陈旧)。
IsLocked { get; set; } 获取或设置字段是否被锁定(不应重新计算其结果)。
LocaleId { get; set; } 获取或设置字段的LCID。
Result { get; set; } 获取或设置字段分隔符和字段结尾之间的文本。
Separator { get; } 获取表示字段分隔符的节点。可以为空。
Start { get; } 获取表示字段开始的节点。
virtual Type { get; } 获取 Microsoft Word 字段类型。

方法

姓名 描述
GetFieldCode() 返回字段开始和字段分隔符之间的文本(或字段结束,如果没有分隔符)。 包括子字段的字段代码和字段结果。
GetFieldCode(bool) 返回字段开始和字段分隔符之间的文本(如果没有分隔符,则返回字段结束)。
Remove() 从文档中删除字段。在字段之后返回一个节点。如果字段的结尾是其父节点的最后一个 child ,则返回其父段落。如果该字段已被删除,则返回 无效的.
Unlink() 执行字段取消链接。
Update() 执行字段更新。如果该字段已被更新,则抛出。
Update(bool) 执行字段更新。如果该字段已被更新,则抛出。

评论

Word文档中的字段是一个复杂的结构,由多个节点组成,包括字段开始、 字段代码、字段分隔符、字段结果和字段结束。字段可以嵌套,包含丰富的内容和 span 文档中的多个段落或部分。这Fieldclass 是一个“外观”对象,它提供 属性和方法,允许将字段作为单个对象使用。

Start,SeparatorEnd属性分别指向字段的 字段开始、分隔符和结束节点。

字段开始和分隔符之间的内容是字段代码。 字段分隔符和字段结尾之间的内容是字段结果。域代码通常包含一个或多个 Run指定指令的对象。处理应用程序应执行 字段代码以计算字段结果。

计算字段结果的过程称为字段更新。 Aspose.Words 可以更新大多数字段类型的 field 结果,其方式与 Microsoft Word 完全相同。最值得注意的是, Aspose.Words 甚至可以计算最复杂的公式字段的结果。要计算单个字段的 field 结果,请使用Update方法。要更新整个 document 中的字段,请使用UpdateFields.

您可以使用以下方式获取字段代码的纯文本版本GetFieldCodemethod. 您可以使用Resultproperty. 字段代码和字段结果都可以包含复杂的内容,例如嵌套字段、段落、形状、 表,在这种情况下,如果您需要更多控制,您可能希望直接使用字段节点。

您不创建的实例Field直接类。 要创建一个新字段,请使用InsertField方法。

例子

演示如何使用域代码将域插入到文档中。

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

Field field = builder.InsertField("DATE \\@ \"dddd, MMMM dd, yyyy\"");

Assert.AreEqual(FieldType.FieldDate, field.Type);
Assert.AreEqual("DATE \\@ \"dddd, MMMM dd, yyyy\"", field.GetFieldCode());

// InsertField 方法的这个重载会自动更新插入的字段。
Assert.That(DateTime.Parse(field.Result), Is.EqualTo(DateTime.Today).Within(1).Days);

也可以看看