次の方法で共有


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

更新 : 2008 年 7 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

ドキュメント レベルのプロジェクト

  • Excel 2007

  • Excel 2003

アプリケーション レベルのプロジェクト

  • Excel 2007

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

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

Visual Studio 2008 Service Pack 1 (SP1) では、実行時に Chart コントロールをアプリケーション レベルのアドインに追加できるようになりました。

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

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

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

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

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

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

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

scb68w64.alert_note(ja-jp,VS.90).gifメモ :

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

Excel 2003 でグラフ ウィザードを使用してワークシートに Chart ホスト コントロールを追加するには

  1. [挿入] メニューの [グラフ] をクリックします。

    グラフ ウィザードが開きます。

    scb68w64.alert_note(ja-jp,VS.90).gifメモ :

    ツール バーの [挿入] メニューを選択できない場合は、ドキュメントをクリックしてフォーカスを設定します。

  2. グラフ ウィザード[標準] タブまたは [ユーザー設定] タブでグラフの種類を選択し、[次へ] をクリックします。

  3. グラフのデータが入っているセル範囲 (セル A5D8) を選択し、[次へ] をクリックします。

グラフ ウィザード[ステップ 3 / 4] で必要なオプションを選択し、[完了] をクリックします。

Excel 2007 でワークシートに 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 コントロールをアプリケーション レベルのプロジェクトに追加する

SP1 では、プログラムによって Chart コントロールをアプリケーション レベルのアドイン プロジェクトの任意の開いているワークシートに追加できるようになりました。詳細については、「アプリケーション レベルのアドインにおける実行時の Word 文書や Excel ブックの拡張」を参照してください。

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

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

  • 次のコードでは、開いているワークシートに基づいたワークシート ホスト項目を作成し、Chart コントロールを追加します。

    Private Sub AddChart()
        Dim worksheet As Worksheet = CType(Application.ActiveWorkbook.Worksheets(1),  _
            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()
    {
        Worksheet worksheet =
            ((Excel.Worksheet)Application.
                  ActiveWorkbook.Worksheets[1]).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 のアプリケーション レベルのアドインの開発

Chart コントロール

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

コントロールへのデータのバインド

ChartSheet ホスト項目

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

その他の技術情報

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

Excel のホスト コントロール

履歴の変更

日付

履歴

理由

2008 年 7 月

チャート コントロールをアプリケーション レベルのアドインのワークシートに追加する方法を説明するセクションを追加

SP1 機能変更