How to: Update Bookmark Text
Applies to |
---|
The information in this topic applies only to the specified Visual Studio Tools for Office projects and versions of Microsoft Office. Project type
Microsoft Office version
For more information, see Features Available by Application and Project Type. |
You can insert text into a placeholder bookmark in a Microsoft Office Word document so that you can retrieve the text at a later time, or to replace text in a bookmark. If you are developing a document-level customization, you can also update text in a Microsoft.Office.Tools.Word.Bookmark control that is bound to data. For more information, see Binding Data to Controls in Office Solutions.
The bookmark object can be one of two types:
A Microsoft.Office.Tools.Word.Bookmark host control.
Microsoft.Office.Tools.Word.Bookmark controls extend native Bookmark objects by enabling data binding and exposing events. For more information about host controls, see Host Items and Host Controls Overview.
A native Bookmark object.
Bookmark objects do not have events or data binding capabilities.
When you assign text to a bookmark, the behavior differs between a Bookmark and a Microsoft.Office.Tools.Word.Bookmark. For more information, see Bookmark Control.
Using Host Controls
To update bookmark contents using a Bookmark control
Create a procedure that takes a bookmark argument for the name of the bookmark, and a newText argument for the string to assign to the Text property.
Note
Assigning text to the Bookmark.Text or Bookmark.FormattedText property of a Microsoft.Office.Tools.Word.Bookmark control does not cause the bookmark to be deleted.
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) {
Assign the newText string to the Text property of the Microsoft.Office.Tools.Word.Bookmark.
bookmark.Text = newText End Sub
bookmark.Text = newText; }
Using Word Objects
To update bookmark contents using a Word Bookmark object
Create a procedure that has a bookmark argument for the name of the Bookmark, and a newText argument for the string to assign to the RangeText property of the bookmark.
Note
Assigning text to a native Word Bookmark object causes the bookmark to be deleted.
Friend Sub BookMarkReplaceNative( _ ByVal bookmark As Word.Bookmark, _ ByVal newText As String)
internal void BookMarkReplaceNative( Word.Bookmark bookmark, string newText) {
Assign the newText string to the RangeText property of the bookmark, which automatically deletes the bookmark. Then re-add the bookmark to the Bookmarks collection.
The following code example can be used in a document-level customization.
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); }
The following code example can be used in an application-level add-in. This example uses the active document.
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); }
See Also
Tasks
How to: Insert Text into Word Documents