Excel Tabellenblatt erstellen?


TOLIK

Mitglied
Hallo, ich hab folgendes Problem:
Ich erstelle eine Excel Datei, und will dann Tabellenblätter hinzufügen. Genau bei den Tabellenblätter hinzufügen habe ich einen Fehler:
Eine nicht behandelte Ausnahme des Typs 'System.Runtime.InteropServices.COMException' ist in ExcelZugriff.exe aufgetreten.

Zusätzliche Informationen: Ausnahme von HRESULT: 0x800A03EC.


Mein Quelltext sieht im Moment so aus.

System.IO.File.Create("C:\test.xls").Close()

Dim xlapp As New Excel.Application
Dim test As Excel.Workbook
Dim sheet As Excel.Worksheet
test = xlapp.Workbooks.Open("C:\test.xls")
test.Sheets.Add("test2")

Genau da kommt der Fehler! Kann mir jemand da weiterhelfen?
Kann sein dass ich ne Falschen Weg genommen hab?

MFG
 

Valheru

Grünschnabel
Code:
Private Sub gesamt_fehlstunden()
                                                                                                                              
sheetfound = False
For Each w In Worksheets
If w.Name = "gesamte Fehlstunden" Then
sheetfound = True

End If
Next

'Wenn vorhanden, aktivieren, sonst Neues anlegen

If sheetfound Then
Worksheets("gesamte Fehlstunden").Activate
Else
Sheets.Add
ActiveSheet.Name = "gesamte Fehlstunden"
End If

End Sub
so hab ich das mit excel + vba gelöst.
sheet erstellen, aktivieren, umbenennen.

Vielleicht hilft dir das ja weiter.

Gruß Basti
 

TOLIK

Mitglied
Leider klappt dass immer noch nicht!
Kommt immer noch die gleiche Fehlermeldung.

Eine nicht behandelte Ausnahme des Typs 'System.Runtime.InteropServices.COMException' ist in ExcelZugriff.exe aufgetreten.

Zusätzliche Informationen: Ausnahme von HRESULT: 0x800A03EC.

Kann jemand was mit der Fehlermeldung anfangen?
 
Zuletzt bearbeitet:
T

ThienZ

ich habe auch diese Fehlermeldung bekommen. Das Problem bei mir war dass ich die "license user agreement" noch nicht akzeptiert habe. Nachdem ich es akzeptiert habe hat es funktioniert :)
 

sf-666

Grünschnabel
Hi,

Also ich stehe auch vor dem gleichem Problem mit der Fehlermeldung.

Sobald ich diesen Code aufrufe kommt die oben erwähnte Fehlermeldung.

Excel.ApplicationClass ExcelApp = new Excel.ApplicationClass();
ExcelApp.Columns.ColumnWidth = 30; //Fehler "Ausnahme von HRESULT: 0x800A03EC"


Gibt es dazu in der zwischenzeit eine echte Lösung?
Eine Lösung soll hier stehen:
http://msdn.microsoft.com/de-de/library/6s0wczt9.aspx

Leider blicke ich überhaupt nicht durch was zu machen ist.
Da wird was von Lokalisierung, Globalisierung und Regionsproblemen erklärt. Bei mir ist die Regionssprache zwar auf Deutsch(Schweiz) eingestellt, aber auch bei Deutsch(Deutsch) gibt es keine besserung.


Ich verwende
Win XP SP3
Office 2003 Pro
VS C# 2008 Standart Edition


Achja, was ich vorhabe, nur so als Info:
http://www.codeproject.com/KB/grid/ExportDatagridviewToExcel.aspx?msg=2949809#xx2949809xx
genau dieses beispiel sollte ich zum laufen kriegen.
Habe soweit auch alles so gemacht wie es dort beschrieben wurde.


MFG
 
Zuletzt bearbeitet:
L

little_1

In Visual Basic .NET könnte die Lösung wie folgt aussehen:
(Es muss ein Verweis auf die MS Excel Objectlibrary gesetzt sein)

Dim xlapp As New Excel.Application
Try
Dim test As Excel.Workbook
If File.Exists("C:\test.xls") Then
Else
test = xlapp.Workbooks.Add()
test.SaveAs("C:\test.xls")
test.Close()
End If

Dim sheet As Excel.Worksheet
test = xlapp.Workbooks.Open("C:\test.xls")
Dim xlSheet As Excel.Worksheet
Dim SheetVorhanden As Boolean = False
For Each xlSheet In test.Sheets
If xlSheet.Name = "test2" Then
xlSheet.Activate()
SheetVorhanden = True
End If
Next xlSheet
If Not SheetVorhanden Then
sheet = test.Sheets.Add()
sheet.Name = "test2"
sheet.Activate()
End If
xlapp.Visible = True
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
xlapp.Quit()
End Try