Veröffentlicht 31. März 200421 j Hallo, mittels VB6 versuche ich Daten aus einer Excel Datei zu lesen, das öffnen und kopieren der Datei klappt, was nicht klappt ist das lesen. Bei der Zeile Sheet1.Cells(1, 1) = "Hallo" bekomme ich die Fehlermeldung "Objekt unterstützt diese Eigenschaft oder Methode nicht" woran kann das liegen? Matthias
31. März 200421 j Original geschrieben von matthiasr Sheet1.Cells(1, 1) = "Hallo" dir ist aber klar dass man damit was in eine Zelle schreibt und nicht liest... schon mit msgbox Sheet1.Cells(1, 1) versucht?
31. März 200421 j Quellcode: Private Sheet1 As Object Private Sub Command1_Click() Dim oExcel As Object Set oExcel = CreateObject("excel.Application") 'appl. öffnen Set Sheet1=oExcel.Workbooks.Open("C:\test1.xls") End Sub Private Sub Command3_Click() Sheet1.Cells(1, 1) = "Hallo" End Sub
31. März 200421 j Original geschrieben von matthiasr Quellcode: Private Sheet1 As Object Private Sub Command1_Click() Dim oExcel As Object Set oExcel = CreateObject("excel.Application") 'appl. öffnen Set Sheet1=oExcel.Workbooks.Open("C:\test1.xls") End Sub Private Sub Command3_Click() Sheet1.Cells(1, 1) = "Hallo" End Sub wenn du ein Objekt in einer Sub erstellst würde ich nicht darauf bauen dass du von einer anderen Sub aus darauf zugreifen kannst... leg doch die Variablen außerhalb (also als Globale Variablen) an also praktisch da wo du das Sheet1 deklariert hast...
31. März 200421 j Ich habs auch schon so probiert Quellcode: Private Sheet1 As Object Private Sub Command1_Click() Dim oExcel As Object Set oExcel = CreateObject("excel.Application") 'appl. öffnen Set Sheet1=oExcel.Workbooks.Open("C:\test1.xls") Sheet1.Cells(1, 1) = "Hallo" End Sub mit dem selben Ergebnis. Ich denke das sollte auch Deinen Vorschlag erfüllen, wenn ich mich nicht täusche. Dennoch ein guter Grundsätzlicher Tipp. Matthias
31. März 200421 j Public oExl As Object Private Sub OpenExlWS(ByVal sWSName As String, ByVal sTabName As String) Dim A As Variant Dim Zeile As Long, Spalte As Integer Set oExl = CreateObject("excel.Application") ' Workbook öffnen On Error Resume Next oExl.WorkBooks.Open sWSName If Err > 0 Then MsgBox "Exceldatei konnte nicht gefunden oder geöffnet werden.", _ vbExclamation, "Dateifehler" Exit Sub End If On Error GoTo 0 ' Tabelle selektieren: oExl.ActiveWorkbook.Sheets(sTabName).Select ' Zelle lesen A = oExl.ActiveSheet.Cells(1, 1).Value ' Zelle schreiben oExl.ActiveSheet.Cells(1, 1).Value = "Test" oExl.Quit Set oExl = Nothing End Sub Private Sub Form_Load() Call OpenExlWS("C:\TEST.xls", "Tabelle2") End Sub [/php] tested edit: die Zeile und Spalte kannst du dann noch Variabel machen... im Bsp. sind die fest (die variablen oben sind also unnötig...)
31. März 200421 j Hallo, ich habe einfach ActiveSheet eingesetzt und schon läuft es, ich hoffe das ich damit nicht irgendwas völlig falsch obwohl es geht. oExl.ActiveSheet.Cells(1, 1).Value = "Test" Danke für die Hilfe Matthias
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.