FieldFillIn

FieldFillIn class

实现 FILLIN 字段。

要了解更多信息,请访问使用字段文档文章。

public class FieldFillIn : Field

构造函数

姓名描述
FieldFillIn()默认构造函数。

特性

姓名描述
DefaultResponse { get; set; }获取或设置默认用户响应(提示窗口中包含的初始值)。
DisplayResult { get; }获取表示显示的字段结果的文本。
End { get; }获取表示字段结束的节点。
Format { get; }获得FieldFormat提供对字段格式的类型化访问的对象。
IsDirty { get; set; }获取或设置字段的当前结果是否由于对文档进行的其他修改而不再正确(陈旧)。
IsLocked { get; set; }获取或设置字段是否被锁定(不应重新计算其结果)。
LocaleId { get; set; }获取或设置字段的 LCID。
PromptOnceOnMailMerge { get; set; }获取或设置每次邮件合并操作是否应接收一次用户响应。
PromptText { get; set; }获取或设置提示文本(提示窗口的标题)。
Result { get; set; }获取或设置字段分隔符和字段结束之间的文本。
Separator { get; }获取表示字段分隔符的节点。可无效的.
Start { get; }获取表示字段开始的节点。
virtual Type { get; }获取 Microsoft Word 字段类型。

方法

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

评论

提示用户输入文本。

例子

演示如何使用 FILLIN 字段提示用户做出响应。

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

    // 插入 FILLIN 字段。当我们在 Microsoft Word 中手动更新此字段时,
    // 它会提示我们输入响应。然后该字段将以文本形式显示响应。
    FieldFillIn field = (FieldFillIn)builder.InsertField(FieldType.FieldFillIn, true);
    field.PromptText = "Please enter a response:";
    field.DefaultResponse = "A default response.";

    // 我们还可以使用这些字段向用户询问每个页面的唯一响应
    // 在使用 Microsoft Word 完成邮件合并期间创建。
    field.PromptOnceOnMailMerge = true;

    Assert.AreEqual(" FILLIN  \"Please enter a response:\" \\d \"A default response.\" \\o", field.GetFieldCode());

    FieldMergeField mergeField = (FieldMergeField)builder.InsertField(FieldType.FieldMergeField, true);
    mergeField.FieldName = "MergeField";

    // 如果我们以编程方式执行邮件合并,我们可以使用自定义提示响应者
    // 自动编辑邮件合并遇到的 FILLIN 字段的响应。
    doc.FieldOptions.UserPromptRespondent = new PromptRespondent();
    doc.MailMerge.Execute(new [] { "MergeField" }, new object[] { "" });

    doc.UpdateFields();
    doc.Save(ArtifactsDir + "Field.FILLIN.docx");
}

/// <summary>
/// 在邮件合并期间,在每个 FILLIN 字段的默认响应前面添加一行。
/// </summary>
private class PromptRespondent : IFieldUserPromptRespondent
{
    public string Respond(string promptText, string defaultResponse)
    {
        return "Response modified by PromptRespondent. " + defaultResponse;
    }
}

也可以看看