書籤控制項

Bookmark 控制項是具有唯一名稱、可公開事件及繫結至資料的書籤。 書籤可以做為預留位置,以標記 Microsoft Office Word 文件中的項目或位置。 Bookmark 控制項是 Bookmark 物件和 Range 物件的組合。

適用對象:本主題資訊適用於文件層級的專案和 Word 的 VSTO 增益集專案。 如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能

在文件層級的專案中,您可以在設計階段或執行階段,將 Bookmark 控制項加入文件。 在 VSTO 增益集專案中,您可以於執行階段將 Bookmark 控制項加入任何開啟的文件。 如需詳細資訊,請參閱如何:將書籤控制項新增至 Word 文件

將資料繫結至控制項

Bookmark 控制項支援簡單資料繫結。 書籤應該使用 DataBindings 屬性繫結至資料來源。 書籤的預設資料繫結屬性是 Text 屬性。

如果更新繫結資料集中的資料,則 Bookmark 控制項會顯示這些變更。

在文件層級專案中,您也可以使用 [資料來源] 視窗,將資料繫結至書籤。 如需詳細資訊,請參閱如何:將物件的資料填入文件

格式設定

可套用至 Bookmark 的格式,也可套用至 Bookmark 控制項。 此格式包括字型、縮排、間距、編號方式和樣式。

指派文字給書籤

Microsoft.Office.Interop.Word.Bookmark 物件與 Microsoft.Office.Tools.Word.Bookmark 控制項之間還有另一個差異,那就是指派文字給書籤的行為不同。 如果您將文字指派給長度為零的 Microsoft.Office.Interop.Word.Bookmark,則會將文字附加至書籤右側,且書籤的長度會保持為零。 不過,如果您將文字指派給長度為零的 Microsoft.Office.Tools.Word.Bookmark,則會將文字插入書籤,且書籤的長度會延長為插入的字元總數。

Microsoft.Office.Tools.Word.Bookmark 控制項也有 Bookmark.Text 屬性。 此屬性與 Range.Text 控制項的 Bookmark.Range 屬性或 Microsoft.Office.Tools.Word.Bookmark 物件的 Bookmark.Range 屬性上提供的 Microsoft.Office.Interop.Word.Bookmark 屬性不同。

Text 屬性 描述
Bookmark.Text 使用這個屬性可顯示書籤內的文字,並將書籤保留在文件上。 指派文字給書籤會擴充書籤範圍,但不會刪除書籤。

例如, Bookmark1.Text = "Hello world" 會將文字插入書籤,並保留完整的書籤。
Range.Text 使用這個屬性可顯示書籤位置上的文字,並自動刪除書籤。 例如, Bookmark1.Range.Text = "Hello world" 會將文字插入書籤,並刪除書籤。

在設計階段重新命名控制項

在文件層級專案中,當您將 Bookmark 控制項從 [工具箱] 拖曳至文件時,Visual Studio 會自動產生該控制項的名稱。 您可以在 [屬性] 視窗中,變更控制項的名稱。

重疊控制項

書籤控制項可以彼此重疊。 多個書籤可以共用相同的文字。 當您將新文字指派給其中一個重疊書籤時,它只會包含新文字,且書籤將不再互相重疊。 其他書籤現在只會包含原始重疊書籤之間未共用的文字。

下表顯示句子「This is sample text.」如何由兩個重疊的書籤共用:

書籤 Text
重疊書籤 [this is {sample] text.}
Bookmark1 This is sample
Bookmark2 sample text.

如果您將新文字「This is replacement.」指派給 Bookmark1,則書籤不會重疊,而 Bookmark2 只會保留原本不屬於 Bookmark1 的文字。

書籤 Text
兩個獨立書籤 [this is replacement]{ text.}
Bookmark1 This is replacement
Bookmark2 文字。

如果您更改包含另一個書籤的書籤文字,則不會刪除內部書籤。 不過,內部書籤會成為空白書籤並移至外部書籤尾端。

下表顯示「This is sample text.」句子的方式是由包含在另一個書籤中的書籤所共用:

書籤 Text
重疊書籤 [this is {sample} text.]
Bookmark1 This is sample text.
Bookmark2 sample

如果您指派新文字「This is replacement」給 Bookmark1,這些書籤將不再互相重疊,且 Bookmark2 會成為位於 Bookmark1 尾端的空白書籤。

書籤 Text
兩個獨立書籤 [this is replacement.]{}
Bookmark1 This is replacement.
Bookmark2 <empty>

事件

下列事件適用於 Bookmark 控制項: