Hallo,
als Anfänger bin ganz stolz, dass ich alle Dateinamen eines Verzeichnisses in einem Schleifendurchlauf auslesen kann. Die Informationen aus den Dateinamen bringt in meinem Fall sehr viel jedoch möchte ich jetzt aber noch aus jeder dieser Calc-Dateien einen Wert aus einer ganz speziellen Zelle auslesen.
Wie kann man das machen? Im Forum und in den Dokumentationen habe ich zu dieser Aufgabenstellung leider nichts gefunden.
Danke
Zellwert aus mehrern Calc-Dateien lesen
Moderator: Moderatoren
Re: Zellwert aus mehrern Calc-Dateien lesen
Hi Tikoo,
folgender Code öffnet das Dokument im Hintergrund, liest die angebene Zelle aus und schliesst das Dokument wieder.
Den Wert kannst Du dann ensprechend weiterverarbeiten.
Hift das weiter?
Jürgen
folgender Code öffnet das Dokument im Hintergrund, liest die angebene Zelle aus und schliesst das Dokument wieder.
Den Wert kannst Du dann ensprechend weiterverarbeiten.
Code: Alles auswählen
Sub Doc_auslesen
Dim oDocSrc1 As Object
Dim oDummy()
oDoc = thisComponent
'Start Deiner Schleife
'Dateiname auslesen und in die Variable MyFile schreiben
MyFile = "test.ods" 'Dateiname
oUrlSrc = "file:///C:/" & Myfile 'Pfad zum Dokument anpassen
dim myFileProp(0) as New com.sun.star.beans.PropertyValue
myFileProp(0).name="Hidden" 'im Hintergrund öffnen festlegen
myFileProp(0).value= true 'im Hintergrund öffnen festlegen
oDocSrc1 = StarDesktop.loadComponentFromURL(oUrlSrc, "_blank", 0, myFileProp())
oSheet = oDocSrc1.Sheets().getByName("Tabelle1") 'Tabelle1 ansprechen
oCellSrc = oSheet.getCellRangeByName("A1") 'Zelle ansprechen
myString = oCellSrc.string 'Zellinhalt holen
oDocSrc1.close (True)'Dokument schliessen
msgbox myString 'Ausgelesenen Wert anzeigen bzw. tu irgend was
'..............................
'nächten Schleifendurchgang aufrufen
End sub
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Zellwert aus mehrern Calc-Dateien lesen
Hallo Jürgen,
danke für den Code. Ich werde die Sache ausprobieren.
Gruß
Tikoo
danke für den Code. Ich werde die Sache ausprobieren.
Gruß
Tikoo
Re: Zellwert aus mehrern Calc-Dateien lesen
Hallo Jürgen,
hat geklappt - bin begeistert!
Jetzt habe ich aber noch das Problem, dass ich die gelesenen Zellinformationen in der aktuellen Datei (die mit dem Programm) notieren. So ging das aber nicht:
myDoc = thisComponent
oSheet = myDoc.Sheets(0)
'Schleife
'..........
'..........
'Schleife bringt Wert im Feld mystring
zeile = zeile + 1
mycell = osheet.getCellByPosition(2 , zeile)
mycell.string = mystring
und so geht es nur einmal und dann Fehler:
'Schleife
'..........
'..........
'Schleife bringt Wert im Feld mystring
myDoc = thisComponent
oSheet = myDoc.Sheets(0)
zeile = zeile + 1
mycell = osheet.getCellByPosition(2 , zeile)
mycell.string = mystring
Gruß
Tikoo
hat geklappt - bin begeistert!
Jetzt habe ich aber noch das Problem, dass ich die gelesenen Zellinformationen in der aktuellen Datei (die mit dem Programm) notieren. So ging das aber nicht:
myDoc = thisComponent
oSheet = myDoc.Sheets(0)
'Schleife
'..........
'..........
'Schleife bringt Wert im Feld mystring
zeile = zeile + 1
mycell = osheet.getCellByPosition(2 , zeile)
mycell.string = mystring
und so geht es nur einmal und dann Fehler:
'Schleife
'..........
'..........
'Schleife bringt Wert im Feld mystring
myDoc = thisComponent
oSheet = myDoc.Sheets(0)
zeile = zeile + 1
mycell = osheet.getCellByPosition(2 , zeile)
mycell.string = mystring
Gruß
Tikoo