HOW TO:更新書籤文字
您可以將文字插入 Microsoft Office Word 文件中的預留位置書籤,以便在稍後擷取文字,或是取代書籤中的文字。 如果您正在開發文件層級自訂,也可以透過繫結至資料的 Microsoft.Office.Tools.Word.Bookmark 控制項來更新文字。 如需詳細資訊,請參閱 將資料繫結至 Office 方案中的控制項。
**適用於:**本主題中的資訊適用於 Word 2007 和 Word 2010 的文件層級專案和應用程式層級專案。如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能。
書籤物件可以是下列兩種類型中的一種:
Microsoft.Office.Tools.Word.Bookmark 主控制項。
Microsoft.Office.Tools.Word.Bookmark 控制項會透過啟用資料繫結 (Data Binding) 和公開 (Expose) 事件,擴充原生 (Native) Microsoft.Office.Interop.Word.Bookmark 物件。 如需主控制項的詳細資訊,請參閱主項目和主控制項概觀。
原生 Microsoft.Office.Interop.Word.Bookmark 物件。
Microsoft.Office.Interop.Word.Bookmark 物件並未具備事件或資料繫結的能力。
當您將文字指派給書籤時,Microsoft.Office.Interop.Word.Bookmark 和 Microsoft.Office.Tools.Word.Bookmark 之間的行為有所差異。 如需詳細資訊,請參閱 書籤控制項。
使用主控制項
若要使用書籤控制項更新書籤內容
建立一個採用兩個引數的程序:一個是代表書籤名稱的 bookmark 引數,另一個是代表要指派給 Text 屬性之字串的 newText 引數。
注意事項
將文字指派給 Microsoft.Office.Tools.Word.Bookmark 控制項的 Bookmark.Text 或 Bookmark.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) {
將 newText 字串指派給 Microsoft.Office.Tools.Word.Bookmark 的 Text 屬性。
bookmark.Text = newText End Sub
bookmark.Text = newText; }
使用 Word 物件
若要使用 Word 書籤物件更新書籤內容
建立一個採用兩個引數的程序:一個是代表 Microsoft.Office.Interop.Word.Bookmark 名稱的 bookmark 引數,另一個是代表要指派給書籤之 Range.Text 屬性的 newText 引數。
注意事項
將文字指派給原生 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) {
將 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); }