방법: 통합 문서의 모든 워크시트 나열
Microsoft.Office.Interop.Excel.Workbook 클래스는 Microsoft.Office.Interop.Excel.Worksheets 개체를 제공합니다. 이 개체에는 통합 문서에 있는 모든 Microsoft.Office.Interop.Excel.Worksheet 개체의 컬렉션이 들어 있습니다.
적용 대상: 이 항목의 정보는 Excel 2007 및 Excel 2010의 문서 수준 프로젝트 및 응용 프로그램 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.
문서 수준 사용자 지정의 통합 문서에 있는 기존 워크시트를 모두 나열하려면
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++; } }