次の方法で共有


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

NamedRange コントロールは、デザイン時および実行時にドキュメント レベルのプロジェクトの Microsoft Office Excel ワークシートに追加できます。

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

アプリケーション レベルのアドイン プロジェクトでも、NamedRange コントロールを実行時に追加できます。

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

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

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

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

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

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

デザイン時にドキュメント レベルのプロジェクトのワークシートに NamedRange コントロールを追加する方法として、Excel から行う方法、Visual Studio のツールボックスから行う方法、および [データ ソース] ウィンドウから行う方法があります。

[!メモ]

お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。詳細については、「Visual Studio の設定」を参照してください。

Excel で [名前ボックス] を使用してワークシートに NamedRange コントロールを追加するには

  1. 名前付き範囲に含める 1 つまたは複数のセルを選択します。

  2. [名前ボックス] に範囲の名前を入力し、Enter キーを押します。

    [名前ボックス] は、数式バーの横、ワークシートの列 A のすぐ上にあります。

ツールボックスを使用してワークシートに NamedRange コントロールを追加するには

  1. ツールボックスを開き、[Excel コントロール] タブをクリックします。

  2. NamedRange をクリックし、ワークシートにドラッグします。

    [NamedRange コントロールの追加] ダイアログ ボックスが表示されます。

  3. 名前付き範囲に含める 1 つまたは複数のセルを選択します。

  4. [OK] をクリックします。

    既定の名前をコントロールに設定しない場合は、[プロパティ] ウィンドウで名前を変更します。

[データ ソース] ウィンドウを使用してワークシートに NamedRange コントロールを追加するには

  1. [データ ソース] ウィンドウを開き、プロジェクトのデータ ソースを作成します。詳細については、「方法 : データベース内のデータに接続する」を参照してください。

  2. [データ ソース] ウィンドウからワークシートにフィールドを 1 つドラッグします。

    データがバインドされた NamedRange コントロールがワークシートに追加されます。詳細については、「データ連結と Windows フォーム」を参照してください。

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

NamedRange コントロールは、実行時にプログラムによってワークシートに追加できます。この方法を使用すると、イベントに応答してホスト コントロールを作成できます。動的に作成された名前付き範囲は、ワークシートを閉じるときに、ホスト コントロールとしてワークシートに保持されません。詳細については、「実行時の Office ドキュメントへのコントロールの追加」を参照してください。

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

  • Sheet1 の Startup イベント ハンドラーで、NamedRange コントロールをセル A1 に追加し、その Value2 プロパティを Hello world! に設定する以下のコードを挿入します。

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

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

プログラムによって NamedRange コントロールをアプリケーション レベルのプロジェクトの任意の開いているワークシートに追加できます。動的に作成された名前付き範囲は、ワークシートを閉じるときに、ホスト コントロールとしてワークシートに保持されません。詳細については、「アプリケーション レベルのアドインにおける実行時の Word 文書や Excel ブックの拡張」を参照してください。

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

  • 次のコードでは、開いているワークシートに基づくワークシート ホスト項目を作成し、NamedRange コントロールをセル A1 に追加して、その Value2 プロパティを Hello world に設定します。

    Private Sub AddNamedRange()
        Dim textInCell As Microsoft.Office.Tools.Excel.NamedRange
    
        Dim NativeWorksheet As Microsoft.Office.Interop.Excel.Worksheet =
            Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets(1)
    
        Dim worksheet As Microsoft.Office.Tools.Excel.Worksheet =
            Globals.Factory.GetVstoObject(NativeWorksheet)
    
        Dim cell As Excel.Range = worksheet.Range("A1")
        textInCell = worksheet.Controls.AddNamedRange(cell, "MyNamedRange")
        textInCell.Value2 = "Hello World"
    End Sub
    
    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";
     }
    

参照

処理手順

方法 : NamedRange コントロールのサイズを変更する

概念

アプリケーション レベルのアドインにおける実行時の Word 文書や Excel ブックの拡張

NamedRange コントロール

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

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

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

その他の技術情報

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