共用方式為


HOW TO:將圖表控制項加入至工作表

您可以在文件層級自訂中,於設計階段和執行階段將 Chart 控制項加入至 Microsoft Office Excel 工作表。 您也可以在執行階段於應用程式層級增益集中加入 Chart 控制項。

**適用於:**本主題中的資訊適用於 Excel 2007 和 Excel 2010 的文件層級專案和應用程式層級專案。如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能

本主題將說明下列工作:

  • 在設計階段加入 Chart 控制項

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

  • 在應用程式層級專案中,於執行階段加入 Chart 控制項

如需 Chart 控制項的詳細資訊,請參閱 圖表控制項

在設計階段加入 Chart 控制項

您可以使用在應用程式內加入圖表的相同方式,將 Chart 控制項加入至您的工作表。

注意事項注意事項

在 [工具箱] 或 [資料來源] 視窗中,無法使用 Chart 控制項。

若要在 Excel 中將 Chart 主控制項加入至工作表

  1. 在 [插入] 索引標籤上,按一下 [圖表] 群組中的 [],然後按一下圖表分類,再按一下想要的圖表類型。

  2. 按一下 [插入圖表] 對話方塊中的 [確定]。

  3. 在 [設計] 索引標籤上,按一下 [資料] 群組中的 [選取資料]。

  4. 按一下 [選取資料來源] 對話方塊中的 [圖表資料範圖] 方塊,並清除任何預設選項。

  5. 在 [圖表資料] 工作表中,選取包含圖表資料的儲存格範圍 (儲存格 [A5] 到 [D8])。

  6. 按一下 [選取資料來源] 對話方塊中的 [確定]。

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

您可以在執行階段動態加入 Chart 控制項。 當文件關閉時,動態建立的圖表不會持續為文件中的主控制項。 如需詳細資訊,請參閱在執行階段將控制項加入至 Office 文件

若要以程式設計的方式將圖表控制項加入至工作表

  • 在 Sheet1 的 Startup 事件處理常式中,插入下列程式碼以加入 Chart 控制項。

    Dim employeeData As Microsoft.Office.Tools.Excel.Chart
    employeeData = Me.Controls.AddChart(25, 110, 200, 150, "employees")
    employeeData.ChartType = Excel.XlChartType.xl3DPie
    
    ' Gets the cells that define the data to be charted.
    Dim chartRange As Excel.Range = Me.Range("A5", "D8")
    employeeData.SetSourceData(chartRange)
    
    Microsoft.Office.Tools.Excel.Chart employeeData;
    employeeData = this.Controls.AddChart(25, 110, 200, 150, "employees");
    employeeData.ChartType = Excel.XlChartType.xl3DPie;
    
    // Gets the cells that define the data to be charted.
    Excel.Range chartRange = this.get_Range("A5", "D8");
    employeeData.SetSourceData(chartRange, missing);
    

在應用程式層級專案中,於執行階段加入 Chart 控制項

您可以在應用程式層級增益集專案中,以程式設計的方式將 Chart 控制項加入至任何開啟的工作表。 如需詳細資訊,請參閱在應用程式層級增益集的執行階段中擴充 Word 文件和 Excel 活頁簿

當工作表關閉時,動態建立的圖表控制項不會保存為工作表中的主控制項。 如需詳細資訊,請參閱在執行階段將控制項加入至 Office 文件

若要以程式設計的方式將圖表控制項加入至工作表

  • 下列程式碼會產生以開啟的工作表為基礎的工作表主項目,然後加入 Chart 控制項。

    Private Sub AddChart()
        Dim NativeWorksheet As Microsoft.Office.Interop.Excel.Worksheet =
            Globals.ThisAddIn.Application.ActiveWorkbook.ActiveSheet
    
        ' Use the following line of code in projects that target the .NET Framework 4.
        Dim worksheet As Microsoft.Office.Tools.Excel.Worksheet =
            Globals.Factory.GetVstoObject(NativeWorksheet)
    
        ' In projects that target the .NET Framework 3.5, use the following line of code.
        ' Dim worksheet = CType(Globals.ThisAddIn.Application.ActiveWorkbook.ActiveSheet,  _
        '    Excel.Worksheet).GetVstoObject()
    
        Dim cells As Excel.Range = worksheet.Range("A5", "D8")
        Dim chart As Chart = worksheet.Controls.AddChart(cells, "employees")
        chart.ChartType = Excel.XlChartType.xl3DPie
        chart.SetSourceData(cells, Type.Missing)
    
    End Sub
    
    private void AddChart()
    {
        // Use the following line of code in projects that target the .NET Framework 4.
        Worksheet worksheet = Globals.Factory.GetVstoObject(
            Globals.ThisAddIn.Application.ActiveWorkbook.ActiveSheet);
    
        // In projects that target the .NET Framework 3.5, use the following line of code.
        // Worksheet worksheet = 
        //     ((Excel.Worksheet)Globals.ThisAddIn.Application.ActiveWorkbook.ActiveSheet).GetVstoObject();
    
        Excel.Range cells = worksheet.Range["A5", "D8"];
        Chart chart = worksheet.Controls.AddChart(cells, "employees");
        chart.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xl3DPie;
        chart.SetSourceData(cells, missing);
    }       
    

編譯程式碼

這個範例有下列需求:

  • 資料必須製成圖表,儲存在工作表中從 A5 到 D8 的範圍中。

請參閱

概念

在應用程式層級增益集的執行階段中擴充 Word 文件和 Excel 活頁簿

圖表控制項

使用擴充物件自動化 Excel

主項目和主控制項概觀

ChartSheet 主項目

主項目和主控制項的程式設計限制

其他資源

Office 文件上的控制項

將資料繫結至 Office 方案中的控制項