ListObject コントロールのサイズを変更する

ListObject コントロールのサイズは Microsoft Office Excel ブックにコントロールを追加するときに設定しますが、後でサイズを変更することもできます。 たとえば、2 列のリストを 3 列のリストに変更できます。

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

ドキュメント レベルのプロジェクトでは、デザイン時または実行時に ListObject コントロールのサイズを変更できます。 VSTO アドイン プロジェクトでは、実行時に ListObject コントロールのサイズを変更できます。

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

デザイン時に ListObject コントロールのサイズを変更する

リストのサイズを変更するには、サイズ変更ハンドルのいずれかをクリックしてドラッグでき、また [リストのサイズ変更] ダイアログ ボックスでそのサイズを再定義することもできます。

[リストのサイズ変更] ダイアログ ボックスを使用してリストのサイズを変更するには

  1. ListObject テーブル内の任意の場所をクリックします。 リボンの [テーブル ツール]>[デザイン] タブが表示されます。

  2. [プロパティ] セクションで、[テーブルのサイズ変更] をクリックします。

    VSTO_ResizeTable

  3. テーブルの新しいデータ範囲を選択します。

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

ドキュメント レベルのプロジェクトで実行時に ListObject コントロールのサイズを変更する

ListObject コントロールのサイズは、実行時に Resize メソッドを使用して変更できます。 このメソッドは、 ListObject コントロールをワークシート上の新しい位置に移動するためには使用できません。 ヘッダーは同じ行のままである必要があり、サイズを変更した ListObject コントロールは元のリスト オブジェクトに重なる必要があります。 サイズ変更した ListObject コントロールには、ヘッダー行および少なくとも 1 つのデータ行が含まれている必要があります。

リスト オブジェクトのサイズをプログラムで変更するには

  1. ListObject に、セル A1 から B3 にまたがる Sheet1コントロールを作成します。

    Microsoft.Office.Tools.Excel.ListObject list1 = 
        this.Controls.AddListObject(this.Range["A1", "B3"], "list1");
    
  2. リストのサイズをセル A1 から C5までに変更します。

    list1.Resize(this.Range["A1", "C5"]);
    

VSTO アドイン プロジェクトの実行時に ListObject のサイズを変更する

実行時に、任意の開いているワークシート上の ListObject コントロールのサイズを変更できます。 VSTO アドインを使用して ListObject コントロールをワークシートに追加する方法の詳細については、「方法: ワークシートに ListObject コントロールを追加する」をご覧ください。

リスト オブジェクトのサイズをプログラムで変更するには

  1. ListObject に、セル A1 から B3 にまたがる Sheet1コントロールを作成します。

    
    Worksheet worksheet = Globals.Factory.GetVstoObject(Application.ActiveSheet);
    
    Microsoft.Office.Tools.Excel.ListObject list1;    
    list1 = worksheet.Controls.AddListObject(worksheet.Range["$A$1:$B$3"], "MyListObject");
    
  2. リストのサイズをセル A1 から C5までに変更します。

    list1.Resize(worksheet.Range["A1", "C5"]);