HOW TO:將書籤控制項加入至 Word 文件
更新: 2008 年 7 月
適用於 |
---|
本主題中的資訊僅適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 版本。 文件層級專案
應用程式層級專案
如需詳細資訊,請參閱依應用程式和專案類型提供的功能。 |
在文件層級專案中,您可以在設計階段或執行階段將 Bookmark 控制項加入至專案中的文件。從 Visual Studio 2008 Service Pack 1 (SP1) 開始,您也可以使用 Word 2007 應用程式層級的增益集,在執行階段將 Bookmark 控制項加入至任何開啟的文件。
本主題將說明下列工作:
在設計階段加入 Bookmark 控制項
在文件層級專案中,於執行階段加入 Bookmark 控制項
在應用程式層級專案中,於執行階段加入 Bookmark 控制項
如需 Bookmark 控制項的詳細資訊,請參閱 書籤控制項。
在設計階段加入 Bookmark 控制項
在文件層級專案中,有數個方式可於設計階段將 Bookmark 控制項加入至文件:
從 Visual Studio [工具箱]。
您可以從 [工具箱] 將 Bookmark 控制項拖曳到文件。如果已經使用 [工具箱] 將 Windows Form 控制項加入至文件,您可能會想要選擇這個方式。
從 Word 中
您可以依照加入原生 (Native) 書籤的相同方式,將 Bookmark 控制項加入至您的文件。以此方式加入控制項的優點,在於您可以在建立時命名控制項。
從 [資料來源] 視窗。
您可以從 [資料來源] 視窗將 Bookmark 控制項拖曳到文件。當您想要同時將控制項繫結至資料時,這是很有用的方法。您可以依照從 [資料來源] 視窗加入 Windows Form 控制項的方式,來加入主控制項。如需詳細資訊,請參閱資料繫結和 Windows Form。
注意事項: |
---|
您的電腦可能會在下列說明中,以不同名稱或位置顯示某些 Visual Studio 使用者介面項目。您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱 Visual Studio 設定。 |
若要從工具箱將書籤控制項加入至文件
開啟 [工具箱],然後按一下 [Word 控制項] 索引標籤。
將 Bookmark 控制項拖曳至文件。
[加入書籤] 對話方塊便會出現。
選取您要加入至書籤中的文字或其他項目。
按一下 [確定]。
如果不想要保留預設的書籤名稱,可以在 [屬性] 視窗中變更名稱。
若要在 Word 中將 Bookmark 控制項加入至文件
在裝載於 Visual Studio 設計工具的文件中,將游標放在您要加入書籤的位置,或選取您要放在書籤中的文字。
執行下列其中一項作業:
若為 Word 2003:按一下 [插入] 功能表上的 [書籤]。
若為 Word 2007:在功能區的 [插入] 索引標籤中,按一下 [連結] 群組中的 [書籤] 按鈕。
在 [書籤] 對話方塊中輸入新書籤的名稱,然後按一下 [新增]。
在文件層級專案中,於執行階段加入 Bookmark 控制項
您可以在專案中使用 ThisDocument 類別之 Controls 屬性的方法,在執行階段以程式設計的方式將 Bookmark 控制項加入至文件。有兩個方法多載,可供您以下列方式加入 Bookmark 控制項:
在指定的範圍加入 Bookmark。
加入以文件中之原生書籤 (即 Microsoft.Office.Interop.Word.Bookmark) 為基礎的 Bookmark。
當文件關閉時,動態建立的 Bookmark 控制項不會保存在文件中。不過,原生 Microsoft.Office.Interop.Word.Bookmark 會保留在文件中。下次文件開啟時,您可以重新建立以原生書籤為基礎的 Bookmark。如需詳細資訊,請參閱在執行階段將控制項加入至 Office 文件。
若要以程式設計的方式將書籤控制項加入至文件
在專案的 ThisDocument_Startup 事件處理常式中插入下列程式碼,以將 Bookmark 控制項加入至文件的第一段。
Dim firstParagraph As Microsoft.Office.Tools.Word.Bookmark firstParagraph = Me.Controls.AddBookmark(Me.Paragraphs(1).Range, "FirstParagraph")
Microsoft.Office.Tools.Word.Bookmark firstParagraph; firstParagraph = this.Controls.AddBookmark(this.Paragraphs[1].Range, "FirstParagraph");
注意事項: 如果您想要從現有的 Microsoft.Office.Interop.Word.Bookmark 建立 Microsoft.Office.Tools.Word.Bookmark 控制項,請使用 AddBookmark 方法並傳入現有的 Microsoft.Office.Interop.Word.Bookmark。
在應用程式層級專案中,於執行階段加入 Bookmark 控制項
從 SP1 開始,您可以使用應用程式層級的增益集,在執行階段以程式設計的方式將 Bookmark 控制項加入至任何開啟的文件。若要這麼做,請產生以開啟文件為基礎的 Document 主項目,然後使用這個主項目之 Controls 屬性的方法。有兩個方法多載,可供您以下列方式加入 Bookmark 控制項:
在指定的範圍加入 Bookmark。
加入以文件中之原生書籤 (即 Microsoft.Office.Interop.Word.Bookmark) 為基礎的 Bookmark。
當文件關閉時,動態建立的 Bookmark 控制項不會保存在文件中。不過,原生 Microsoft.Office.Interop.Word.Bookmark 會保留在文件中。下次文件開啟時,您可以重新建立以原生書籤為基礎的 Bookmark。如需詳細資訊,請參閱在 Office 文件中保存動態控制項。
如需在應用程式層級專案中產生主項目的詳細資訊,請參閱在應用程式層級增益集的執行階段中擴充 Word 文件和 Excel 活頁簿。
若要在指定的範圍加入 Bookmark 控制項
使用 ControlCollection.AddBookmark(Range, String) 方法,並傳入您要加入 Bookmark 的 Range。
下列程式碼範例會將新的 Bookmark 加入至使用中文件的開頭。若要使用這個範例,請從 Word 增益集專案中的 ThisAddIn_Startup 事件處理常式執行程式碼。
Dim extendedDocument As Document = Me.Application.ActiveDocument.GetVstoObject() Dim firstParagraph As Bookmark = extendedDocument.Controls.AddBookmark( _ extendedDocument.Paragraphs(1).Range, "FirstParagraph")
Document extendedDocument = this.Application.ActiveDocument.GetVstoObject(); Bookmark firstParagraph = extendedDocument.Controls.AddBookmark( extendedDocument.Paragraphs[1].Range, "FirstParagraph");
若要加入以原生 Bookmark 控制項為基礎的 Bookmark 控制項
使用 ControlCollection.AddBookmark(Bookmark, String) 方法,並傳入要做為新 Bookmark 之基礎來使用的現有 Microsoft.Office.Interop.Word.Bookmark。
下列程式碼範例會建立新的 Bookmark,它是以使用中文件的第一個 Microsoft.Office.Interop.Word.Bookmark 為基礎。若要使用這個範例,請從 Word 增益集專案中的 ThisAddIn_Startup 事件處理常式執行程式碼。
If Me.Application.ActiveDocument.Bookmarks.Count > 0 Then Dim firstBookmark As Word.Bookmark = Me.Application.ActiveDocument.Bookmarks(1) Dim extendedDocument As Document = Me.Application.ActiveDocument.GetVstoObject() Dim vstoBookmark As Bookmark = extendedDocument.Controls.AddBookmark( _ firstBookmark, "VSTOBookmark") End If
if (this.Application.ActiveDocument.Bookmarks.Count > 0) { object index = 1; Word.Bookmark firstBookmark = this.Application.ActiveDocument.Bookmarks.get_Item(ref index); Document extendedDocument = this.Application.ActiveDocument.GetVstoObject(); Bookmark vstoBookmark = extendedDocument.Controls.AddBookmark( firstBookmark, "VSTOBookmark"); }
請參閱
工作
概念
其他資源
變更記錄
日期 |
記錄 |
原因 |
---|---|---|
2008 年 7 月 |
已加入應用程式層級增益集的新程序。 |
SP1 功能變更。 |