2017-02-03 8 views
0

Excelで複数のシートを含むWorkbookを作成しようとしていますが、複数のシートの作成方法がわかりません。私はちょうど良い1つを作成することができますが、私は2番目の書き込みを作成しようとすると、私はエラーが発生します。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

どのラインエラー?コード内に1枚のシートが追加されているように見えます。 – SJR

+0

@sjr 'newXlSheet2 = newXlWorkbook.Sheets.Add(" Sheet2 ")' throws ''System.Runtime.InteropServices.COMException'型の未処理例外が発生しました – Bob

+0

@Bob、それがVBAでない場合はVBA関連のタグを削除します – user3598756

答えて

2

タイプ追加したい場合は「System.Runtime.InteropServices.COMException」

の最初のチャンス例外デフォルトでは

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がオンに付属しています:あなたのエクセルWorkbookこれはそれを行うためのコードであると、複数のシートe Sheet。複数のセットを追加する場合は、Count:= parameterを追加します。私の例でわかるように、私はを使っています。これにより、私は11枚のシートを扱うことができます。

wsは、Workbookの最後のシートになります。私の例では、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にはデフォルトで1枚が付いています。

+0

@Bob拡張答え。 – Bugs

+1

ああああ、受け入れている:) – Bob

関連する問題