將 Windows Forms 控制項新增至 Office 文件
您可以在文件層級專案的設計階段中,將 Windows Form 控制項加入 Microsoft Office Excel 和 Microsoft Office Word 文件。 在執行階段,您可以在文件層級自訂和 VSTO 增益集中新增控制項。例如,可以將 ComboBox 控制項新增至工作表,讓使用者可以從選項清單中選取。
適用對象:本主題資訊適用於文件層級的專案和 Excel 和 Word的 VSTO 增益集專案。 如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能。
本主題說明下列工作:
在設計階段加入控制項
您可以用幾種方式,透過文件層級專案,於設計階段將 Windows Form 控制項加入文件。
注意
在下列指示的某些 Visual Studio 使用者介面項目中,您的電腦可能會顯示不同的名稱或位置: 您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。 如需詳細資訊,請參閱將 IDE 個人化。
若要將 Windows Form 控制項拖曳至文件
在 Visual Studio 中建立或開啟 Excel 活頁簿專案或 Word 文件專案,如此才能在設計工具中看到文件。 如需建立專案的詳細資訊,請參閱如何:在 Visual Studio 中建立 Office 專案。
在 [工具箱] 的 [通用控制項] 索引標籤中,按一下您要新增的控制項,並將它拖曳至文件中。
注意
在 Excel 中選取控制項時,您會在 [資料編輯列] 看到 =EMBED("WinForms.Control.Host","")。 這個文字是必要的,不應該刪除。
若要將 Windows Form 控制項拖曳至文件
在 Visual Studio 中建立或開啟 Excel 活頁簿專案或 Word 文件專案,如此才能在設計工具中看到文件。 如需建立專案的詳細資訊,請參閱如何:在 Visual Studio 中建立 Office 專案。
在 [工具箱] 的 [通用控制項] 索引標籤中,按一下您要新增的控制項。
在文件上,在您希望成為控制項左上角的位置按一下,然後拖曳到希望成為控制項右下角的位置。
控制項會依指定的位置和大小加入文件。
注意
在 Excel 中選取控制項時,您會在 [資料編輯列] 看到 =EMBED("WinForms.Control.Host","")。 這個文字是必要的,不應該刪除。
若要按一下控制項,將 Windows Form 控制項加入文件
在 Visual Studio 中建立或開啟 Excel 活頁簿專案或 Word 文件專案,如此才能在設計工具中看到文件。 如需建立專案的詳細資訊,請參閱如何:在 Visual Studio 中建立 Office 專案。
在 [工具箱] 的 [通用控制項] 索引標籤中,按一下您要新增的控制項
在文件中,按一下要加入控制項的位置。
控制項會依預設大小加入文件。
注意
在 Excel 中選取控制項時,您會在 [資料編輯列] 看到 =EMBED("WinForms.Control.Host","")。 這個文字是必要的,不應該刪除。
若要按兩下控制項,將 Windows Form 控制項加入文件
在 Visual Studio 中建立或開啟 Excel 活頁簿專案或 Word 文件專案,如此才能在設計工具中看到文件。 如需建立專案的詳細資訊,請參閱如何:在 Visual Studio 中建立 Office 專案。
在 [工具箱] 的 [通用控制項] 索引標籤中,按兩下您要新增的控制項。
控制項會加入文件或現用窗格的中央位置。
注意
在 Excel 中選取控制項時,您會在 [資料編輯列] 看到 =EMBED("WinForms.Control.Host","")。 這個文字是必要的,不應該刪除。
按下 Enter 鍵將 Windows Form 控制項新增至文件
在 Visual Studio 中建立或開啟 Excel 活頁簿專案或 Word 文件專案,如此才能在設計工具中看到文件。 如需建立專案的詳細資訊,請參閱如何:在 Visual Studio 中建立 Office 專案。
在 [工具箱] 的 [通用控制項] 索引標籤中,按一下您要新增的控制項,然後按 Enter 鍵。
控制項會加入文件或現用窗格的中央位置。
注意
在 Excel 中選取控制項時,您會在 [資料編輯列] 看到 =EMBED("WinForms.Control.Host","")。 這個文字是必要的,不應該刪除。
在文件層級專案中的執行階段加入內容控制項
您可以在執行階段以程式設計方式將 Windows Forms 控制項加入文件。 在 Word 中,請使用 ThisDocument
類別之 Controls 屬性的方法。 在 Excel 中,請使用 Sheet
n 類別之 Controls 屬性的方法。 每個方法都有數個多載,可讓您以不同方式指定控制項的位置。
當您在執行階段將 Windows Forms 控制項加入文件時,當文件關閉後,控制項不會儲存在文件中。 您可以在下一次開啟文件時重新建立該控制項。 如需詳細資訊,請參閱在執行階段將控制項新增至 Office 文件。
在執行階段加入 Windows Forms 控制項
使用名稱為新增<控制項類別>的方法 (其中 控制項類別是要新增的 Windows Forms 控制項的類別名稱,例如:AddButton)。
下列程式碼範例示範如何將 Button 新增至 Excel 的文件層級專案中
Sheet1
的儲存格 C5 中。
在 VSTO 增益集的執行階段加入控制項
您可以在執行階段以程式設計方式將 Windows Forms 控制項加入任何開啟的文件。 首先,請依據開啟的文件或工作表,產生一個主項目。 然後,在 Word 中使用新主項目之 Controls 屬性的方法。 在 Excel 中,則使用新主項目之 Controls 屬性的方法。 每個方法都有數個多載,可讓您以不同方式指定控制項的位置。
當您在執行階段將 Windows Forms 控制項加入文件時,當文件關閉後,控制項不會儲存在文件中。 您可以在下一次開啟文件時重新建立該控制項。 如需詳細資訊,請參閱在執行階段將控制項新增至 Office 文件。
如需在 VSTO 增益集專案中產生主項目的詳細資訊,請參閱在 VSTO 增益集的執行階段中擴充 Word 文件和 Excel 活頁簿。
在執行階段加入 Windows Forms 控制項
使用名稱為新增<控制項類別>的方法 (其中 控制項類別是要新增的 Windows Forms 控制項的類別名稱,例如:AddButton)。
注意
在以 .NET Framework 4 或更新版本為目標的 VSTO 增益集專案中,您必須先新增 Microsoft.Office.Tools.Excel.v4.0.Utilities.dll 或 Microsoft.Office.Tools.Word.v4.0.Utilities.dll 組件的參考,才能存取新增<控制項類別>方法。
下列程式碼範例示範如何使用 Word VSTO 增益集,將 Button 加入現用文件的第一個段落。
Microsoft.Office.Tools.Word.Controls.Button salesButton; Document extendedDocument = Globals.Factory.GetVstoObject(this.Application.ActiveDocument); extendedDocument.Paragraphs[1].Range.InsertParagraphBefore(); salesButton = extendedDocument.Controls.AddButton( extendedDocument.Paragraphs[1].Range, 75, 18, "salesButton"); salesButton.Text = "Calculate Sales";