如何:以编程方式更新书签文本

可以将文本插入到 Microsoft Office Word 文档的占位符书签中,以便以后可以检索文本,或者替换书签中的文本。如果在开发文档级自定义项,您还可以在绑定到数据的 Microsoft.Office.Tools.Word.Bookmark 控件中更新文本。有关更多信息,请参见将数据绑定到 Office 解决方案中的控件

**适用于:**本主题中的信息适用于 Word 2013 和 Word 2010 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

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

将文本分配给书签时,Microsoft.Office.Interop.Word.BookmarkMicrosoft.Office.Tools.Word.Bookmark 的行为有所不同。有关更多信息,请参见Bookmark 控件

使用宿主控件

使用 Bookmark 控件更新书签内容

  1. 创建一个过程,该过程采用 bookmark 参数作为书签名,采用 newText 参数作为要赋给 Text 属性的字符串。

    说明说明

    将文本分配给 Microsoft.Office.Tools.Word.Bookmark 控件的 Bookmark.TextBookmark.FormattedText 属性并不会导致书签被删除。

    Shared Sub BookMarkReplace( _
        ByRef bookmark As Microsoft.Office.Tools.Word.Bookmark, _
        ByVal newText As String)
    
    static void BookMarkReplace(
        ref Microsoft.Office.Tools.Word.Bookmark bookmark, 
        string newText)
    {
    
  2. 将 newText 字符串赋给 Microsoft.Office.Tools.Word.BookmarkText 属性。

        bookmark.Text = newText
    End Sub
    
        bookmark.Text = newText;
    }
    

使用 Word 对象

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

  1. 创建一个过程,该过程具有 bookmark 参数作为 Microsoft.Office.Interop.Word.Bookmark 的名称,并具有 newText 参数作为要赋给书签的 Range.Text 属性的字符串。

    说明说明

    将文本分配给本机 Word Microsoft.Office.Interop.Word.Bookmark 对象会导致书签被删除。

    Friend Sub BookMarkReplaceNative( _
        ByVal bookmark As Word.Bookmark, _
        ByVal newText As String)
    
    internal void BookMarkReplaceNative(
        Word.Bookmark bookmark, 
        string newText)
    {
    
  2. 将 newText 字符串赋给书签的 Range.Text 属性,这将会自动删除书签。然后重新向 Bookmarks 集合添加书签。

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

        Dim rng As Word.Range = bookmark.Range
        Dim bookmarkName As String = bookmark.Name
    
        bookmark.Range.Text = newText
    
        Me.Bookmarks.Add(Name:=bookmarkName, Range:=rng)
    End Sub
    
        object rng = bookmark.Range;
        string bookmarkName = bookmark.Name;
    
        bookmark.Range.Text = newText;
    
        this.Bookmarks.Add(bookmarkName, ref rng); 
    }
    

    下面的代码示例可用于应用程序级外接程序。此示例使用活动文档。

        Dim rng As Object = bookmark.Range
        Dim bookmarkName As String = bookmark.Name
    
        bookmark.Range.Text = newText
        Me.Application.ActiveDocument.Bookmarks.Add(Name:=bookmarkName, Range:=rng)
    End Sub
    
        object rng = bookmark.Range;
        string bookmarkName = bookmark.Name;
    
        bookmark.Range.Text = newText;
    
        Word.Document document = this.Application.ActiveDocument;
        document.Bookmarks.Add(bookmarkName, ref rng);
    }
    

请参见

任务

如何:以编程方式在 Word 文档中插入文本

概念

Bookmark 控件

其他资源

Word 对象模型概述