次の方法で共有


方法 : ブック内のすべてのワークシートを一覧表示する

更新 : 2007 年 11 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

プロジェクトの種類

  • ドキュメント レベルのプロジェクト

  • アプリケーション レベルのプロジェクト

Microsoft Office のバージョン

  • Excel 2003

  • Excel 2007

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

Microsoft.Office.Interop.Excel.Workbook クラスには、Microsoft.Office.Interop.Excel.Worksheets オブジェクトが用意されています。このオブジェクトには、ブック内のすべての Microsoft.Office.Interop.Excel.Worksheet オブジェクトのコレクションが含まれます。

ドキュメント レベルのカスタマイズで、ブック内の既存のワークシートを一覧表示するには

  • Worksheets コレクションを反復処理し、各ワークシートの名前を、NamedRange コントロールからオフセットされるセルに送信します。

    Private Sub ListSheets()
        Dim index As Integer = 0
    
        Dim NamedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _
            Globals.Sheet1.Controls.AddNamedRange( _
            Globals.Sheet1.Range("A1"), "NamedRange1")
    
        For Each displayWorksheet As Excel.Worksheet In Globals.ThisWorkbook.Worksheets
            NamedRange1.Offset(index, 0).Value2 = displayWorksheet.Name
            index += 1
        Next displayWorksheet
    End Sub
    
    private void ListSheets()
    {
        int index = 0;
    
        Microsoft.Office.Tools.Excel.NamedRange NamedRange1 =
            Globals.Sheet1.Controls.AddNamedRange(
            Globals.Sheet1.Range["A1", missing], "NamedRange1");
    
        foreach (Excel.Worksheet displayWorksheet in Globals.ThisWorkbook.Worksheets)
        {
            NamedRange1.Offset[index, 0].Value2 = displayWorksheet.Name;
            index++;
        }
    }
    

アプリケーション レベルのアドインで、ブック内の既存のワークシートを一覧表示するには

  • Worksheets コレクションを反復処理し、各ワークシートの名前を、Microsoft.Office.Interop.Excel.Range オブジェクトからオフセットされるセルに送信します。

    Private Sub ListSheets()
        Dim index As Integer = 0
    
        Dim rng As Excel.Range = Me.Application.Range("A1")
    
        For Each displayWorksheet As Excel.Worksheet In Me.Application.Worksheets
            rng.Offset(index, 0).Value2 = displayWorksheet.Name
            index += 1
        Next displayWorksheet
    End Sub
    
    private void ListSheets()
    {
        int index = 0;
    
        Excel.Range rng = this.Application.get_Range("A1", missing);
    
        foreach (Excel.Worksheet displayWorksheet in this.Application.Worksheets)
        {
            rng.get_Offset(index, 0).Value2 = displayWorksheet.Name;
            index++;
        }
    }
    

参照

処理手順

方法 : 新しいワークシートをブックに追加する

方法 : ブック内のワークシートを移動する

概念

ワークシートの操作

Visual Studio Tools for Office プロジェクト内のオブジェクトへのグローバル アクセス