Hi @all von tutorials.de,
Ich habe momentan ein Problem beim auslesen einer Excel-Datei. Mein Code bisher ist folgender
==============================================================
Private Sub cmdtest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdtest.Click
Dim xlMappe As Microsoft.Office.Interop.Excel.Workbook
Dim xlBlatt As Microsoft.Office.Interop.Excel.Worksheet
Dim xlZelle As String
Dim xlRange As Microsoft.Office.Interop.Excel.Range
'Dim intZeilen As Integer
Dim xlApp As Microsoft.Office.Interop.Excel.Application
xlZelle = Nothing
xlApp = New Microsoft.Office.Interop.Excel.Application
xlMappe = xlApp.Workbooks.Open("G:\It-Support\Mappe1.xls")
xlBlatt = xlMappe.Worksheets("Tabelle1")
'xlBlatt.Visible = True
xlZelle = xlBlatt.Cells(8, 1).value
If (xlZelle Is Nothing = True) Then
MsgBox("Kein Wert vorhanden")
Else
listboxuser.Items.Add(xlZelle)
End If
xlMappe.Close()
xlApp.Application.Quit()
End Sub
====================================================
Wie ihr seht, hat der geschriebene Code lediglich zur Aufgabe den Wert einer Zelle auszulesen und in eine listbox einzufügen. Damit ich das tun konnte habe ich einen Verweis auf die COM-Objekte "Microsoft 12.0 Object Library" und Microsoft 5.0 Objekt-Bibliothek" angelegt.
Der Fehler den ich habe ist folgender: Prinzipiell klappt das auslesen des Wertes, jedoch nur gelegentlich. Wenn ich es mit "xlZelle = xlBlatt.Cells(8, 1).value" ausführe, kommt bspw. "test" in die listbox. Wenn ich nun den Code umändere und die Zelle(7,1) auslesen möchte, wird dort wieder "test" eingetragen. Das Excel-Dokument ist nicht schreibgeschhützt. Mir unverständlich ist auch, dass das Programm manchmal doch den richtigen Wert holt. Ich habe schon in meinen Code reingeschrieben "xlZelle = nothing" um vorsichtshalber die Variable zu leeren, aber geholfen hat es nichts...
Am Meisten wäre mir prinzipiell geholfen, wenn jemand einmal den Code mit einer Excel-Tabelle testen könnte und mir sagt, ob es da funktioniert, also sprich ob andere Werte eingetragen werden, wenn man die in xlZelle zu speichernde Zelle ändert.
Auch VisualBasic oder Excel zu beenden bringt keinen Erfolg.
Vllt. noch kurz zu den Rahmenbedingungen: Bin Praktikant und habe noch keinen eigenen Account, sondern bin miteingeloggt in dem Account eines anderen Mitarbeiters. Visual Basic ist lokal auf dem Pc an dem ich sitze installiert und die Projektdaten sind auf Laufwerk G:\, einem externen Netzlaufwerk.
Für Lösungsvorschläge wäre ich sehr dankbar.
Besten Gruß
maj3stro
Download Visual Studio 2008 Express mit SP 1
http://www.microsoft.com/downloads/de-de/details.aspx?FamilyID=F3FBB04E-92C2-4701-B4BA-92E26E408569
Ich habe momentan ein Problem beim auslesen einer Excel-Datei. Mein Code bisher ist folgender
==============================================================
Private Sub cmdtest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdtest.Click
Dim xlMappe As Microsoft.Office.Interop.Excel.Workbook
Dim xlBlatt As Microsoft.Office.Interop.Excel.Worksheet
Dim xlZelle As String
Dim xlRange As Microsoft.Office.Interop.Excel.Range
'Dim intZeilen As Integer
Dim xlApp As Microsoft.Office.Interop.Excel.Application
xlZelle = Nothing
xlApp = New Microsoft.Office.Interop.Excel.Application
xlMappe = xlApp.Workbooks.Open("G:\It-Support\Mappe1.xls")
xlBlatt = xlMappe.Worksheets("Tabelle1")
'xlBlatt.Visible = True
xlZelle = xlBlatt.Cells(8, 1).value
If (xlZelle Is Nothing = True) Then
MsgBox("Kein Wert vorhanden")
Else
listboxuser.Items.Add(xlZelle)
End If
xlMappe.Close()
xlApp.Application.Quit()
End Sub
====================================================
Wie ihr seht, hat der geschriebene Code lediglich zur Aufgabe den Wert einer Zelle auszulesen und in eine listbox einzufügen. Damit ich das tun konnte habe ich einen Verweis auf die COM-Objekte "Microsoft 12.0 Object Library" und Microsoft 5.0 Objekt-Bibliothek" angelegt.
Der Fehler den ich habe ist folgender: Prinzipiell klappt das auslesen des Wertes, jedoch nur gelegentlich. Wenn ich es mit "xlZelle = xlBlatt.Cells(8, 1).value" ausführe, kommt bspw. "test" in die listbox. Wenn ich nun den Code umändere und die Zelle(7,1) auslesen möchte, wird dort wieder "test" eingetragen. Das Excel-Dokument ist nicht schreibgeschhützt. Mir unverständlich ist auch, dass das Programm manchmal doch den richtigen Wert holt. Ich habe schon in meinen Code reingeschrieben "xlZelle = nothing" um vorsichtshalber die Variable zu leeren, aber geholfen hat es nichts...
Am Meisten wäre mir prinzipiell geholfen, wenn jemand einmal den Code mit einer Excel-Tabelle testen könnte und mir sagt, ob es da funktioniert, also sprich ob andere Werte eingetragen werden, wenn man die in xlZelle zu speichernde Zelle ändert.
Auch VisualBasic oder Excel zu beenden bringt keinen Erfolg.
Vllt. noch kurz zu den Rahmenbedingungen: Bin Praktikant und habe noch keinen eigenen Account, sondern bin miteingeloggt in dem Account eines anderen Mitarbeiters. Visual Basic ist lokal auf dem Pc an dem ich sitze installiert und die Projektdaten sind auf Laufwerk G:\, einem externen Netzlaufwerk.
Für Lösungsvorschläge wäre ich sehr dankbar.
Besten Gruß
maj3stro
Download Visual Studio 2008 Express mit SP 1
http://www.microsoft.com/downloads/de-de/details.aspx?FamilyID=F3FBB04E-92C2-4701-B4BA-92E26E408569
Zuletzt bearbeitet: