プログラムによってブックからワークシートを削除する

ブック内の任意のワークシートを削除できます。 ワークシートを削除するには、Worksheet ホスト項目を使用するか、ブックの Sheets コレクションを使用してワークシートにアクセスします。

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

Worksheet ホスト項目を使用する

デザイン時にドキュメント レベルのカスタマイズでワークシートが追加された場合は、Delete メソッドを使用して特定のワークシートを削除します。 以下のコードは、Worksheet ホスト項目を直接参照して、ブックからワークシートを削除します。

重要

このコードは、次のいずれかのプロジェクト テンプレートを使用して作成したプロジェクトでのみ実行されます。

Worksheet ホスト項目を使用してワークシートを削除するには

  1. DeleteSheet1メソッドを呼び出します。

    Globals.Sheet1.Delete();
    

Excel ブックの Sheets コレクションを使用する

次の場合は、Microsoft Office Excel の Sheets コレクションを使用してワークシートにアクセスします。

  • VSTO アドインでワークシートを削除する場合。

  • 削除するワークシートがドキュメント レベルのカスタマイズで実行時に作成された場合。

    以下のコードは、Sheets コレクションのインデックス番号でシートを参照して、ブックからワークシートを削除します。 このコードは、新しいワークシートがプログラミングによって作成されたことを前提としています。

重要

他の種類のプロジェクトでこのタスクを実行する場合は、Microsoft.Office.Interop.Excel アセンブリへの参照を追加する必要があります。その後、そのアセンブリのクラスを使用してブックを開き、ワークシートを削除する必要があります。 詳細については、「方法: プライマリ相互運用機能アセンブリを使用して Office アプリケーションを対象にする」と Excel 2010 プライマリ相互運用機能アセンブリのリファレンスを参照してください。

Excel ブックの Sheets コレクションを使用してワークシートを削除するには

  1. Sheets コレクションの Delete メソッドを呼び出します。

    ((Excel.Worksheet)this.Application.ActiveWorkbook.Sheets[4]).Delete();