將 NamedRange 控制項新增至工作表

您可以在文件層級專案中,於設計階段和執行階段將 NamedRange 控制項加入 Microsoft Office Excel 工作表。

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

您也可以在 VSTO 增益集專案中,於執行階段加入 NamedRange 控制項。

本主題說明下列工作:

在設計階段加入 NamedRange 控制項

有幾種方式可在文件層級專案中,於設計階段將 NamedRange 控制項加入工作表:在 Excel 中、透過 Visual Studio 的 [工具箱] ,以及透過 [資料來源] 視窗。

注意

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

使用 Excel 中的名稱方塊將 NamedRange 控制項加入工作表

  1. 選取您要包含在指定範圍中的一或多個儲存格。

  2. 在 [名稱方塊] 中,輸入範圍的名稱,然後按 Enter 鍵。

    [名稱方塊] 位於工作表 A 欄正上方的公式列旁。

使用工具箱將 NamedRange 控制項加入工作表

  1. 開啟 [工具箱] ,然後按一下 [Excel 控制項] 索引標籤。

  2. 按一下 NamedRange 並將拖曳至工作表。

    [加入指定範圍] 對話方塊隨即出現。

  3. 選取您要包含在指定範圍中的一或多個儲存格。

  4. 按一下 [確定]

    如果您不想要使用指定給控制項的預設名稱,您可以在 [屬性] 視窗中變更名稱。

使用資料來源視窗將 NamedRange 控制項加入工作表

  1. 開啟 [資料來源] 視窗並為您的專案建立資料來源。 如需詳細資訊,請參閱新增連線

  2. 將單一欄位從 [資料來源] 視窗拖曳至您的工作表。

    資料繫結 NamedRange 控制項隨即加入工作表。 如需詳細資訊,請參閱資料繫結和 Windows Forms

在文件層級專案中,於執行階段加入 NamedRange 控制項

您可以在執行階段,以程式設計方式將 NamedRange 控制項加入工作表。 如此可讓您建立主控制項,以回應事件。 當工作表關閉時,動態建立的指定範圍不會保存為工作表中的主控制項。 如需詳細資訊,請參閱在執行階段將控制項新增至 Office 文件

以程式設計方式將 NamedRange 控制項加入工作表

  1. StartupSheet1事件處理常式中插入下列程式碼,以將 NamedRange 控制項加入儲存格 A1 並將其 Value2 屬性設定為 Hello world!

    Microsoft.Office.Tools.Excel.NamedRange textInCell;
    textInCell = this.Controls.AddNamedRange(this.get_Range("A1"), "cellText");
    
    textInCell.Value2 = "Hello world!";
    

在 VSTO 增益集專案中,於執行階段加入 NamedRange 控制項

您可以利用程式設計方式,在 VSTO 增益集專案中,將 NamedRange 控制項加入任何開啟中的工作表。 當工作表關閉時,動態建立的指定範圍不會保存為工作表中的主控制項。 如需詳細資訊,請參閱在 VSTO 增益集的執行階段中擴充 Word 文件和 Excel 活頁簿

以程式設計方式將 NamedRange 控制項加入工作表

  1. 下列程式碼會產生以開啟的工作表為基礎的工作表主項目,然後將 NamedRange 控制項加入儲存格 A1 並將其 Value2 屬性設定為 Hello world

    private void AddNamedRange()
    {
        Microsoft.Office.Tools.Excel.NamedRange textInCell;
    
        Worksheet worksheet = Globals.Factory.GetVstoObject(
            Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets[1]);
    
    
        Excel.Range cell = worksheet.Range["A1"]; 
        textInCell = worksheet.Controls.AddNamedRange(cell, "MyNamedRange");
        textInCell.Value2 = "Hello World";
     }