Hallo liebe Mitglieder,
ich habe folgendes Problem. Ich muss Daten aus einer Excel-Datei auslesen und verarbeiten. Dazu nutze ich die "Microsoft.Office.Interop.Excel.Application". Aufbau und anschließende Verarbeitung klappt super, jedoch nach der Vearbeitung möchte ich, dass die Verbindung geschlossen wird. Dies funktioniert jedoch nicht. Habt Ihr vill. einen Rat?
Um die Verbindung zur Datei aufzubauen gehe ich wie folgt vor:
Meine Funktion zum Beenden, die funktioniert jedoch nicht:
Habt Ihr da noch eine Idee, wie ich dies eventuell lösen könnte?
Danke im Voraus für eure Hilfe
ich habe folgendes Problem. Ich muss Daten aus einer Excel-Datei auslesen und verarbeiten. Dazu nutze ich die "Microsoft.Office.Interop.Excel.Application". Aufbau und anschließende Verarbeitung klappt super, jedoch nach der Vearbeitung möchte ich, dass die Verbindung geschlossen wird. Dies funktioniert jedoch nicht. Habt Ihr vill. einen Rat?
Um die Verbindung zur Datei aufzubauen gehe ich wie folgt vor:
VB.NET-Quellcode
- 'Verbindung zur Excel-Datei aufbauen
- Public Function excel_connect() As Object
- Dim connection As New Microsoft.Office.Interop.Excel.Application
- Try
- connection.Workbooks.Open(pfad.Text) 'pfad.Text ist der komplette Pfad, wo die xls bzw. xlsx liegt
- Catch ex As Exception
- MsgBox(ex)
- End Try
- Return connection
- End Function
Meine Funktion zum Beenden, die funktioniert jedoch nicht:
- "connection.Workbooks("xyz.xlsx").Close()" -> funktioniert nicht. Zwar wird komplett durchkompeliert und das Programm geht einwandfrei, jedoch bleibt EXCEL.EXE *32 im Task-Manager vorhanden. (Prozess wurde nicht beendet)
- "connection.Workbooks(pfad.Text).Close()" -> Fehlermeldung: "Ein Ausnahmefehler des Typs "System.Runtime.InteropServices.COMException" ist in Microsoft.VisualBasic.dll aufgetreten. Zusätzliche Informationen: Ungültiger Index. (Ausnahme von HRESULT: 0x8002000B (DISP_E_BADINDEX))"
- "connection.Workbooks.Close()" -> funktioniert nicht. Zwar wird komplett durchkompeliert und das Programm geht einwandfrei, jedoch bleibt EXCEL.EXE *32 im Task-Manager vorhanden. (Prozess wurde nicht beendet)
- connection.Workbooks().Close()" -> funktioniert nicht. Zwar wird komplett durchkompeliert und das Programm geht einwandfrei, jedoch bleibt EXCEL.EXE *32 im Task-Manager vorhanden. (Prozess wurde nicht beendet)
Habt Ihr da noch eine Idee, wie ich dies eventuell lösen könnte?
Danke im Voraus für eure Hilfe