方法 : ワークシートに 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 つまたは複数のセルを選択します。
[名前ボックス] に範囲の名前を入力し、Enter キーを押します。
[名前ボックス] は、数式バーの横、ワークシートの列 A のすぐ上にあります。
ツールボックスを使用してワークシートに NamedRange コントロールを追加するには
ツールボックスを開き、[Excel コントロール] タブをクリックします。
NamedRange をクリックし、ワークシートにドラッグします。
[NamedRange コントロールの追加] ダイアログ ボックスが表示されます。
名前付き範囲に含める 1 つまたは複数のセルを選択します。
[OK] をクリックします。
既定の名前をコントロールに設定しない場合は、[プロパティ] ウィンドウで名前を変更します。
[データ ソース] ウィンドウを使用してワークシートに NamedRange コントロールを追加するには
[データ ソース] ウィンドウを開き、プロジェクトのデータ ソースを作成します。詳細については、「方法 : データベース内のデータに接続する」を参照してください。
[データ ソース] ウィンドウからワークシートにフィールドを 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 ブックの拡張
ホスト項目およびホスト コントロールのプログラム上の制限事項