以编程方式更新书签文本

你可以将文本插入 Microsoft Office Word 文档中的占位符书签,以便稍后能够检索到该文本,或替换书签中的文本。 如果你正在开发文档级自定义项,则还可以更新绑定到数据的 Bookmark 控件中的文本。 有关详细信息,请参阅将数据绑定到办公室解决方案中的控件。

适用于: 本主题中的信息适用于 Word 的文档级项目和 VSTO 外接程序项目。 有关详细信息,请参阅办公室应用程序和项目类型提供的功能。

书签对象可为以下两种类型之一:

使用主机控件

使用书签控件更新书签内容

  1. 创建一个过程,它将 bookmark 自变量用作书签的名称,并将 newText 自变量用作要分配给 Text 属性的字符串。

    注意

    将文本分配给 Bookmark 控件的 TextFormattedText 属性不会删除书签。

    static void BookMarkReplace(
        ref Microsoft.Office.Tools.Word.Bookmark bookmark, 
        string newText)
    {
    
  2. newText 字符串分配给 Text . Bookmark的属性。

        bookmark.Text = newText;
    }
    

使用 Word 对象

使用 Word 书签对象更新书签内容

  1. 创建一个过程,它将 bookmark 自变量用作 Bookmark 的名称,并将 newText 自变量用作要分配给书签的 Text 属性的字符串。

    注意

    将文本分配给本机 Word Bookmark 对象会造成书签被删除。

    internal void BookMarkReplaceNative(
        Word.Bookmark bookmark, 
        string newText)
    {
    
  2. newText 字符串分配给 Text 书签的属性,该属性会自动删除书签。 然后将书签重新添加到 Bookmarks 集合。

    下面的代码示例可用于文档级自定义项。

        object rng = bookmark.Range;
        string bookmarkName = bookmark.Name;
    
        bookmark.Range.Text = newText;
    
        this.Bookmarks.Add(bookmarkName, ref rng); 
    }
    

    以下代码示例可用于 VSTO 外接程序。 本示例使用活动文档。

        object rng = bookmark.Range;
        string bookmarkName = bookmark.Name;
    
        bookmark.Range.Text = newText;
    
        Word.Document document = this.Application.ActiveDocument;
        document.Bookmarks.Add(bookmarkName, ref rng);
    }