次の方法で共有


方法 : ワークシートに Chart コントロールを追加する

Chart コントロールは、デザイン時および実行時にドキュメント レベルのカスタマイズの Microsoft Office Excel ワークシートに追加できます。 アプリケーション レベルのアドインでも、Chart コントロールを実行時に追加できます。

対象: このトピックの情報は、Excel 2007 と Excel 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。

このトピックでは、次のタスクについて説明します。

  • デザイン時に Chart コントロールを追加する

  • 実行時に Chart コントロールをドキュメント レベルのプロジェクトに追加する

  • 実行時に Chart コントロールをアプリケーション レベルのプロジェクトに追加する

Chart コントロールの詳細については、「Chart コントロール」を参照してください。

デザイン時に Chart コントロールを追加する

アプリケーションの中からグラフを追加するのと同じ方法で、ワークシートに Chart コントロールを追加できます。

注意

Chart コントロールは、ツールボックス[データ ソース] ウィンドウにはありません。

Excel でワークシートに Chart ホスト コントロールを追加するには

  1. [挿入] タブの [グラフ] で、[縦棒] をクリックし、グラフのカテゴリをクリックして、目的のグラフの種類をクリックします。

  2. [グラフの挿入] ダイアログ ボックスで、[OK] をクリックします。

  3. [デザイン] タブの [データ] で、[データの選択] をクリックします。

  4. [データ ソースの選択] ダイアログ ボックスの [グラフ データの範囲] ボックス内でクリックし、既定の選択をクリアします。

  5. チャート用のデータのある シートで、グラフのデータが格納されているセルの範囲 (セル A5D8) を選択します。

  6. [データ ソースの選択] ダイアログ ボックスで、[OK] をクリックします。

実行時に Chart コントロールをドキュメント レベルのプロジェクトに追加する

実行時に Chart コントロールを動的に追加できます。 動的に作成したグラフは、ドキュメントを閉じるとホスト コントロールとしてドキュメントに維持されません。 詳細については、「実行時の Office ドキュメントへのコントロールの追加」を参照してください。

プログラミングによってワークシートに Chart コントロールを追加するには

  • 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 コントロールを追加するには

  • 次のコードでは、開いているワークシートに基づいたワークシート ホスト項目を作成し、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 ブックの拡張

Chart コントロール

拡張オブジェクトによる Excel の自動化

ホスト項目とホスト コントロールの概要

Office ソリューションでのコントロールへのデータのバインド

ChartSheet ホスト項目

ホスト項目およびホスト コントロールのプログラム上の制限事項

その他の技術情報

Office ドキュメントのコントロール