Hi,
ich habe eine Access DB die Daten aus Excel einlesen vergleiche und auch in Excel zurückschreiben muss. Problem kurzumschrieben: Excel wird dann nicht richtig beendet und ich weiß nicht warum.
Die Datei wird zwar geschloßen aber irgendwie auch nicht, der Prozess ist noch offen! Und hier liegt der Hund begraben... Machen die User den Import 10x haben sie also 10x die excel.exe geladen das ist nicht akzeptabel.
wo liegt mein Fehler?
ich habe eine Access DB die Daten aus Excel einlesen vergleiche und auch in Excel zurückschreiben muss. Problem kurzumschrieben: Excel wird dann nicht richtig beendet und ich weiß nicht warum.
Code:
'die Variablen Dim ErrorCode As Boolean Dim objExcel As Excel.Application Dim objWorkbook As Workbook Dim objWorksheet As Worksheet Dim Row As Excel.Range Dim StartingRow, EndingRow As Long ErrorCode = False 'wird für den Ausstieg benutzt um zu unterscheiden ob speichern oder nicht Set objExcel = New Excel.Application objExcel.Visible = False Set objWorkbook = objExcel.Workbooks.Open(WorkbookPath, , False) Dim i, N, M As Integer N = objWorkbook.Worksheets.count Set objWorksheet = objWorkbook.Worksheets(1) For Each objWorksheet In objWorkbook.Sheets ' ' verschiedene Routinen ' While i < EndingRow + 1 'blaa blaa blaa routine unter anderem mit ausstieg per Errorcode = true i = i + 1 Wend objWorkbook.ActiveWorkbook.Save Next objWorksheet Errorhandles: If Not objWorkbook Is Nothing Then If objWorkbook.Name <> "" Then If ErrorCode = False Then objWorkbook.Close savechanges:=True Else objWorkbook.Close savechanges:=False End If End If End If If Not BreachTable Is Nothing Then BreachTable.Close End If If Not objExcel Is Nothing Then If objExcel.Workbooks.count = 0 Then objExcel.Application.Quit End If End If End Function
wo liegt mein Fehler?
Comment