Das Problem ist, dass Arbeitsmappe (in Ihrem Code: ... = CType (xlApp.Workbook. ...) ist keine Eigenschaft des Excel-Anwendungsobjekts. Deshalb erhalten Sie die Ausnahme:
„Public Mitglied‚Arbeitsmappe‘vom Typ‚ApplicationClass‘nicht gefunden.“
Try this ...
Imports Microsoft.Office.Interop
Imports Microsoft.VisualBasic.Interaction
Private Sub MakeExcelWorksheets_Click(sender As Object, e As EventArgs) Handles MakeExcelWorksheets.Click
Dim xlApp As Excel.Application
xlApp = DirectCast(CreateObject("Excel.Application"), Excel.Application)
Dim newWorksheet As Excel.Worksheet
Dim newWorkBook As Excel.Workbook
Try
'newWorksheet = CType(xlApp.Workbook.Worksheets.Add(), Excel.Worksheet)
If xlApp.Workbooks.Count > 0 Then
newWorkBook = DirectCast(xlApp.Workbooks(1), Excel.Workbook)
Else
newWorkBook = DirectCast(xlApp.Workbooks.Add(), Excel.Workbook)
End If
newWorksheet = DirectCast(newWorkBook.Sheets.Add(), Excel.Worksheet)
Catch ex As Exception
MessageBox.Show(ex.Message)
Exit Sub
End Try
End Sub
Sie nicht die Logik benötigen Sie eine neue Arbeitsmappe hinzuzufügen, wenn keine, wenn Sie existiert‘ Re garantiert, dass Ihr Excel-Anwendungsobjekt definitiv über mindestens eine Arbeitsmappe verfügt.
Dies sollte die von Ihnen gemeldete Ausnahme auflösen und ein neues instanziiertes "Worksheet" -Objekt in der Excel-Arbeitsmappe erzeugen.
Danke funktioniert super. – user3207693