2017-02-03 6 views
0

Excel에서 여러 시트를 사용하여 Workbook을 만들려고하는데 여러 시트를 만드는 방법을 알 수 없습니다. 좋은 것을 만들 수 있지만 두 번째 쓰기를 만들려고하면 오류가 발생합니다. 이 문제 아닌지Excel 통합 문서에 시트 추가

Dim app As Application = New Application 
Dim xlApp As New Excel.Application 
Dim xlWorkBook As Excel.Workbook 
Dim newXlApp As Excel.Application = New Microsoft.Office.Interop.Excel.Application 
Dim newXlWorkbook As Excel.Workbook 
Dim newXlSheet As Excel.Worksheet 
Dim newXlSheet2 As Excel.Worksheet 

Public Sub createWorkBook() 
    newXlWorkbook = newXlApp.Workbooks.Add() 

    newXlSheet = newXlWorkbook.Sheets("Sheet1") 
    newXlSheet2 = newXlWorkbook.Sheets.Add("Sheet2") 

    newXlSheet.Cells(1, 1) = "Task ID" 
    newXlSheet.Cells(1, 2) = "Collective Tasks" 
    newXlSheet.Cells(1, 3) = "Supported Task" 

    newXlSheet2.Cells(1, 1) = "Parent Collective Task" 
    newXlSheet2.Cells(1, 2) = "Individual Task" 
End Sub 

는 잘 모르겠지만, 나는 또한 쿼리있어하는 별도의 엑셀 Workbook가 열려 있습니다. 난 당신의 코드가 될 것입니다주고 오류를 볼 수있는에서

+0

어떤 라인 오류가 있습니까? 코드에 한 시트 만 추가하는 것처럼 보입니다. – SJR

+0

@sjr 'newXlSheet2 = newXlWorkbook.Sheets.Add ("Sheet2")'throws''System.Runtime.InteropServices.COMException '유형의 처리되지 않은 예외가 발생했습니다. – Bob

+0

@Bob, VBA가 아닌 경우 VBA 관련 태그를 제거하십시오. – user3598756

답변

2

:

유형 추가 할 경우 '함께 System.Runtime.InteropServices.COMException'

의 첫 번째 예외 기본적 Workbook으로

Dim app As New Excel.Application 
Dim wb As Excel.Workbook = app.Workbooks.Add() 
Dim ws As Excel.Worksheet 

ws = CType(wb.Sheets.Add(Count:=10), Excel.Worksheet) 

가 함께 제공 : 엑셀 Workbook 여러 시트이 것을 할 수있는 코드는 e Sheet. 두 개 이상의 세트를 추가하려면 Count:= parameter. 제 예제에서 볼 수 있듯이 을 사용했습니다. 이렇게하면 11 개의 시트가 나와 함께 작업 할 수 있습니다.

wsWorkbook의 마지막 시트가됩니다. 내 예제에서는 Sheet11이 될 것입니다.

Worksheet 작업 할 경우 다음과 같은 코드를 볼 필요가있다 : 첫 번째 시트에

Dim ws1 As Excel.Worksheet = CType(wb.Sheets(1), Excel.Worksheet) 
Dim ws2 As Excel.Worksheet = CType(wb.Sheets.Add(), Excel.Worksheet) 

ws1.Cells(1, 1) = "Task ID" 
ws1.Cells(1, 2) = "Collective Tasks" 
ws1.Cells(1, 3) = "Supported Task" 

ws2.Cells(1, 1) = "Parent Collective Task" 
ws2.Cells(1, 2) = "Individual Task" 

ws1 그 참조. 위에서 말한 것처럼 Workbook에는 기본적으로 한 장이 제공됩니다.

+0

@Bob 확장 답변. – Bugs

+1

Ahhhh gotcha, 수락 할 것입니다 :) – Bob