方法: ワークシートへの NamedRange コントロールの追加How to: Add NamedRange controls to worksheets

ドキュメント レベルのプロジェクトでは、デザイン時および実行時に、 NamedRange コントロールを Microsoft Office Excel ワークシートに追加できます。You can add NamedRange controls to a Microsoft Office Excel worksheet at design time and at run time in document-level projects.

適用対象: このトピックの情報は、ドキュメントに適用されます-レベルのプロジェクトおよび VSTO 追加-で Excel 用のプロジェクト。Applies to: The information in this topic applies to document-level projects and VSTO Add-in projects for Excel. 詳細については、「Office アプリケーションおよびプロジェクトの種類で使用できる機能」を参照してください。For more information, see Features available by Office application and project type.

VSTO アドイン プロジェクトでも、実行時に NamedRange コントロールを追加できます。You can also add NamedRange controls at run time in VSTO Add-in projects.

このトピックでは、次のタスクについて説明します。This topic describes the following tasks:

デザイン時に NamedRange コントロールを追加するAdd NamedRange controls at design time

デザイン時にドキュメント レベルのプロジェクトのワークシートに NamedRange コントロールを追加する方法として、Excel から行う方法、Visual Studio の ツールボックスから行う方法、 [データ ソース] ウィンドウから行う方法があります。There are several ways to add NamedRange controls to a worksheet in a document-level project at design time: from within Excel, from the Visual Studio Toolbox, and from the Data Sources window.

Note

次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。The Visual Studio edition that you have and the settings that you use determine these elements. 詳細については、「Visual Studio IDE のカスタマイズ」を参照してください。For more information, see Personalize the IDE.

Excel で [名前ボックス] を使用してワークシートに NamedRange コントロールを追加するにはTo add a NamedRange control to a worksheet using the Name Box in Excel

  1. 名前付き範囲に含める 1 つ以上のセルを選びます。Select the cell or cells you want to include in the named range.

  2. [名前] ボックスに範囲の名前を入力し、enter キーを押します。In the Name Box, type a name for the range and press Enter.

    [名前ボックス] は、数式バーの横、ワークシートの列 A の真上にあります。The Name Box is located beside the formula bar, just above column A of the worksheet.

ツールボックスを使用してワークシートに NamedRange コントロールを追加するにはTo add a NamedRange control to a worksheet using the Toolbox

  1. ツールボックス を開き、 [Excel コントロール] タブをクリックします。Open the Toolbox and click the Excel Controls tab.

  2. NamedRange をクリックし、ワークシートにドラッグします。Click NamedRange and drag it to a worksheet.

    [NamedRange コントロールの追加] ダイアログ ボックスが表示されます。The Add Named Range dialog box appears.

  3. 名前付き範囲に含める 1 つ以上のセルを選びます。Select the cell or cells you want to include in the named range.

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

    コントロールに既定の名前を付けない場合は、 [プロパティ] ウィンドウで名前を変更します。If you do not want the default name that is given to the control, you can change the name in the Properties window.

[データ ソース] ウィンドウを使用してワークシートに NamedRange コントロールを追加するにはTo add a NamedRange control to a worksheet using the Data Sources window

  1. [データ ソース] ウィンドウを開いて、プロジェクトのデータ ソースを作成します。Open the Data Sources window and create a data source for your project. 詳細については、「新しい接続の追加」を参照してください。For more information, see Add new connections.

  2. [データ ソース] ウィンドウからワークシートにフィールドを 1 つドラッグします。Drag a single field from the Data Sources window to your worksheet.

    データがバインドされた NamedRange コントロールがワークシートに追加されます。A data-bound NamedRange control is added to the worksheet. 詳細については、「データバインディングと Windows フォーム」を参照してください。For more information, see Data binding and Windows Forms.

実行時にドキュメントレベルのプロジェクトの NamedRange コントロールを追加するAdd NamedRange controls at run time in a document-level project

NamedRange コントロールは、実行時にプログラムによってワークシートに追加できます。You can add a NamedRange control programmatically to your worksheet at run time. この方法を使用すると、イベントに応答してホスト コントロールを作成できます。This enables you to create the host controls in response to events. 動的に作成された名前付き範囲は、ワークシートを閉じたときに、ホスト コントロールとしてワークシートに保持されません。Dynamically created named ranges are not persisted in the worksheet as host controls when the worksheet is closed. 詳細については、「実行時に Office ドキュメントにコントロールを追加する」を参照してください。For more information, see Add controls to Office documents at run time.

プログラムによってワークシートに NamedRange コントロールを追加するにはTo add a NamedRange control to a worksheet programmatically

  1. StartupSheet1イベント ハンドラーに、以下のコードを挿入します。このコードでは、 NamedRange コントロールをセル A1 に追加して、その Value2 プロパティを Hello world!に設定します。In the Startup event handler of Sheet1, insert the following code to add the NamedRange control to cell A1 and set its Value2 property to Hello world!

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

実行時に VSTO アドインプロジェクトに NamedRange コントロールを追加するAdd NamedRange controls at run time in a VSTO Add-in project

プログラムを使用して NamedRange コントロールを VSTO アドイン プロジェクトの任意の開いているワークシートに追加できます。You can add a NamedRange control programmatically to any open worksheet in a VSTO Add-in project. 動的に作成された名前付き範囲は、ワークシートを閉じたときに、ホスト コントロールとしてワークシートに保持されません。Dynamically created named ranges are not persisted in the worksheet as host controls when the worksheet is closed. 詳細については、「 VSTO アドインでの実行時の Word 文書と Excel ブックの拡張」を参照してください。For more information, see Extend Word documents and Excel workbooks in VSTO Add-ins at run time.

プログラムによってワークシートに NamedRange コントロールを追加するにはTo add a NamedRange control to a worksheet programmatically

  1. 次のコードでは、開いているワークシートに基づいたワークシート ホスト項目を生成し、 NamedRange コントロールをセル A1 に追加して、その Value2 プロパティを Hello worldに設定します。The following code generates a worksheet host item that is based on the open worksheet, and then adds a NamedRange control to cell A1 and sets its Value2 property to 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";
     }
    
    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
    

関連項目See also