bastiglasl
Erfahrenes Mitglied
Wunderschönen Guten Morgen!
Ich erstelle eine Excel-Mappe, lese dann Daten ausm SQL-Server und übergebe schließlich die Daten in die Excel-Mappe. Tritt nun beim Sammeln der Daten ein Fehler auf, möchte ich gern die Excel-Mappe ohne Meldung einfach schließen und beenden. Jedoch bleibt mir immer der Excel-Prozess noch im Speicher laufen.... Wie kann ich den bei einem Fehler beenden?
Hier kommt noch a bisserl Code zur Veranschaulichung:
Ich erstelle eine Excel-Mappe, lese dann Daten ausm SQL-Server und übergebe schließlich die Daten in die Excel-Mappe. Tritt nun beim Sammeln der Daten ein Fehler auf, möchte ich gern die Excel-Mappe ohne Meldung einfach schließen und beenden. Jedoch bleibt mir immer der Excel-Prozess noch im Speicher laufen.... Wie kann ich den bei einem Fehler beenden?
Hier kommt noch a bisserl Code zur Veranschaulichung:
Code:
Private Function move2Xls(ByVal sXltFile As String, ByVal sArrSQLStatemnets As ArrayList) As Boolean
Dim oXLSAppl As Global.Excel.Application
Dim oXLSMappe As Global.Excel.Workbook
Dim oXLSBlatt As Global.Excel.Worksheet
Dim oXLSZelle As Global.Excel.Range
Dim iZeilen As Integer
oXLSAppl = New Global.Excel.Application
Try
'Öffnen der Datenbank
'[...]
'Öffnen der XLS-Datei
oXLSAppl.Visible = False
oXLSMappe = oXLSAppl.Workbooks.Open(sXltFile)
For Each sArrSQL As String() In sArrSQLStatemnets
oXLSBlatt = oXLSMappe.Worksheets(sArrSQL(1))
oXLSZelle = oXLSBlatt.Range(sArrSQL(2))
iZeilen = oXLSZelle.CurrentRegion.Rows.Count
'an dieser Stelle werden die Daten aus derDatenbank geholt und
'Zeile für Zeile in die Excel-Tabelle geschrieben
While Not rsKWP.EOF
For i As Integer = 0 To rsKWP.FieldsCount - 1
oXLSZelle.Offset(iZeilen, i).Value = rsKWP.Field(i)
Next
rsKWP.MoveNext()
iZeilen += 1
End While
Next
'Wenn alles geklappt hat XLS-Mappe anzeigen
oXLSAppl.Visible = True
Catch ex As Exception
'Bei einem Fehler soll die XLS-Mappe einfach geschlossen werden.
oXLSAppl.Quit()
oXLSAppl = Nothing
'Prozess hängt immer noch im Speicher :(
Return False
End Try
Return True
End Function