共用方式為


HOW TO:將 Windows Form 控制項加入至 Office 文件

更新: 2008 年 7 月

適用於

本主題中的資訊僅適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 版本。

文件層級專案

  • Excel 2003

  • Excel 2007

  • Word 2003

  • Word 2007

應用程式層級專案

  • Excel 2007

  • Word 2007

如需詳細資訊,請參閱依應用程式和專案類型提供的功能

您可以在設計階段,將 Windows Form 控制項加入至 Microsoft Office Excel 和 Microsoft Office Word 文件。在執行階段,您可以用文件層級自訂和應用程式層級增益集加入控制項。例如,您可以將 ComboBox 控制項加入至工作表,讓使用者可以從選項清單中進行選取。

本主題將說明下列工作:

  • 在設計階段加入控制項

  • 透過文件層級專案,在執行階段加入控制項

  • 透過應用程式層級增益集,在執行階段加入控制項

此外,您也可以在 Office 文件中加入主控制項,例如 Bookmark 控制項和 NamedRange 控制項。如需詳細資訊,請參閱 Word 主控制項Excel 主控制項

在設計階段加入控制項

您可以用幾種方式,透過文件層級專案,於設計階段將 Windows Form 控制項加入至文件。

注意事項:

您的電腦可能會在下列說明中,以不同名稱或位置顯示某些 Visual Studio 使用者介面項目。您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱 Visual Studio 設定

若要將 Windows Form 控制項拖曳到文件

  1. 在 Visual Studio 中建立或開啟 Excel 活頁簿專案或 Word 文件專案,如此才能在設計工具中看到文件。如需建立專案的詳細資訊,請參閱 HOW TO:建立 Visual Studio Tools for Office 專案

  2. 在 [工具箱] 的 [通用控制項] 索引標籤中,按一下要加入的控制項,並將其拖曳到文件。

    注意事項:

    在 Excel 中選取控制項時,您會在 [資料編輯列] 看到 [=EMBED("WinForms.Control.Host","")]。這個文字是必要的,不應該刪除。

若要繪製文件上的 Windows Form 控制項

  1. 在 Visual Studio 中建立或開啟 Excel 活頁簿專案或 Word 文件專案,如此才能在設計工具中看到文件。如需建立專案的詳細資訊,請參閱 HOW TO:建立 Visual Studio Tools for Office 專案

  2. 在 [工具箱] 的 [通用控制項] 索引標籤上,按一下要加入的控制項

  3. 在文件上,在您希望成為控制項左上角的位置按一下,然後拖曳到希望成為控制項右下角的位置。

    控制項會依指定的位置和大小加入至文件。

    注意事項:

    當您在 Excel 中選取控制項時,您會在 [資料編輯列] 看到 [=EMBED("WinForms.Control.Host","")]。這個文字是必要的,不應該刪除。

若要按一下控制項將 Windows Form 控制項加入至文件

  1. 在 Visual Studio 中建立或開啟 Excel 活頁簿專案或 Word 文件專案,如此才能在設計工具中看到文件。如需建立專案的詳細資訊,請參閱 HOW TO:建立 Visual Studio Tools for Office 專案

  2. 在 [工具箱] 的 [通用控制項] 索引標籤中,按一下要加入的控制項

  3. 在文件中,按一下要加入控制項的位置。

    控制項會依預設大小加入至文件。

    注意事項:

    在 Excel 中選取控制項時,您會在 [資料編輯列] 看到 [=EMBED("WinForms.Control.Host","")]。這個文字是必要的,不應該刪除。

若要按兩下控制項將 Windows Form 控制項加入至文件

  1. 在 Visual Studio 中建立或開啟 Excel 活頁簿專案或 Word 文件專案,如此才能在設計工具中看到文件。如需建立專案的詳細資訊,請參閱 HOW TO:建立 Visual Studio Tools for Office 專案

  2. 在 [工具箱] 的 [通用控制項] 索引標籤中,按兩下要加入的控制項。

    控制項會加入至文件或現用窗格的中央位置。

    注意事項:

    在 Excel 中選取控制項時,您會在 [資料編輯列] 看到 [=EMBED("WinForms.Control.Host","")]。這個文字是必要的,不應該刪除。

若要按下 ENTER 鍵將 Windows Form 控制項加入至文件

  1. 在 Visual Studio 中建立或開啟 Excel 活頁簿專案或 Word 文件專案,如此才能在設計工具中看到文件。如需建立專案的詳細資訊,請參閱 HOW TO:建立 Visual Studio Tools for Office 專案

  2. 在 [工具箱] 的 [通用控制項] 索引標籤中,按一下要加入的控制項,然後按下 ENTER 鍵。

    控制項會加入至文件或現用窗格的中央位置。

    注意事項:

    在 Excel 中選取控制項時,您會在 [資料編輯列] 看到 [=EMBED("WinForms.Control.Host","")]。這個文字是必要的,不應該刪除。

透過文件層級專案,在執行階段加入控制項

您可以以程式設計的方式,在執行階段將 Windows Form 控制項加入至文件。在 Word 中,請使用 ThisDocument 類別之 Controls 屬性的方法。在 Excel 中,請使用 Sheetn 類別之 Controls 屬性的方法。每個方法都有數個多載,可讓您以不同方式指定控制項的位置。如需詳細資訊,請參閱 Windows Form 控制項的 Helper 方法

如果在執行階段將 Windows Form 控制項加入至文件,當關閉文件時,文件不會保存該控制項。您可以在下一次開啟文件時重新建立該控制項。如需詳細資訊,請參閱在執行階段將控制項加入至 Office 文件

若要在執行階段加入 Windows Form 控制項

  • 使用名為 Add<control class> (其中 control class 是您想要加入的 Windows Form 控制項類別名稱,例如 AddButton) 的 Microsoft.Office.Tools.Word.ControlCollection 方法 (Word 專案) 或 Microsoft.Office.Tools.Excel.ControlCollection 方法 (Excel 專案)。

    下列程式碼範例示範如何透過 Excel 文件層級專案,將 Button 加入至 Sheet1 的 [C5] 儲存格。

    Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Me.Startup
    
        Dim salesButton As Microsoft.Office.Tools.Excel.Controls.Button
        salesButton = Me.Controls.AddButton(Me.Range("C5"), "salesButton")
        salesButton.Text = "Calculate Total Sales"
    End Sub
    
    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
        Microsoft.Office.Tools.Excel.Controls.Button salesButton;
        salesButton = this.Controls.AddButton(this.get_Range("C5", missing), "salesButton");
        salesButton.Text = "Calculate Total Sales";
    }
    

透過應用程式層級增益集,在執行階段加入控制項

您可以以程式設計的方式,在執行階段將 Windows Form 控制項加入至任何開啟的文件。首先,請產生以開啟之文件或工作表為基礎的主項目。然後,在 Word 中使用新主項目之 Document.Controls 屬性的方法。在 Excel 中,則使用新主項目之 Worksheet.Controls 屬性的方法。每個方法都有數個多載,可讓您以不同方式指定控制項的位置。如需詳細資訊,請參閱 Windows Form 控制項的 Helper 方法

如果在執行階段將 Windows Form 控制項加入至文件,當關閉文件時,文件不會保存該控制項。您可以在下一次開啟文件時重新建立該控制項。如需詳細資訊,請參閱在執行階段將控制項加入至 Office 文件

如需在應用程式層級專案中產生主項目的詳細資訊,請參閱在應用程式層級增益集的執行階段中擴充 Word 文件和 Excel 活頁簿

若要在執行階段加入 Windows Form 控制項

  • 使用名為 Add<control class> (其中 control class 是您想要加入的 Windows Form 控制項類別名稱,例如 AddButton) 的 Microsoft.Office.Tools.Word.ControlCollection 方法 (Word 專案) 或 Microsoft.Office.Tools.Excel.ControlCollection 方法 (Excel 專案)。

    下列程式碼範例示範如何使用 Word 增益集,將 Button 加入至現用文件的第一個段落。

    Dim salesButton As Microsoft.Office.Tools.Word.Controls.Button
    Dim extendedDocument As Document = Me.Application.ActiveDocument.GetVstoObject()
    
    extendedDocument.Paragraphs(1).Range.InsertParagraphBefore()
    salesButton = extendedDocument.Controls.AddButton( _
        extendedDocument.Paragraphs(1).Range, 75, 18, "salesButton")
    salesButton.Text = "Calculate Sales"
    
    Microsoft.Office.Tools.Word.Controls.Button salesButton;
    Document extendedDocument = this.Application.ActiveDocument.GetVstoObject();
    
    extendedDocument.Paragraphs[1].Range.InsertParagraphBefore();
    salesButton = extendedDocument.Controls.AddButton(
        extendedDocument.Paragraphs[1].Range, 75, 18, "salesButton");
    salesButton.Text = "Calculate Sales";
    

請參閱

工作

HOW TO:在工作表儲存格中調整控制項的大小

概念

Office 文件上的 Windows Form 控制項概觀

在執行階段將控制項加入至 Office 文件

主項目和主控制項概觀

了解 Office 方案中的選擇性參數

變更記錄

日期

記錄

原因

2008 年 7 月

加入有關使用應用程式層級增益集將控制項加入至文件的程序。

SP1 功能變更。