Seite 1 von 1
datenexport aus mehreren ods-dateien in eine neue ODS-Datei
Verfasst: Fr, 29.10.2010 23:12
von uwanoremin
Hallo
ich habe folgendes Problem ich möchte aus mehreren (gleiche Struktur) Dateien Werte mit BASIC-Script auslesen, weiterverarbeiten und in einer neuen
Datei einfügen, Leider habe ich nicht's brauchbares im Netz gefunden, immer nur die Aussage, dass das nicht mit mehreren Dateien geht.
Danke für Eure Hilfe
Re: datenexport aus mehreren ods-dateien in eine neue ODS-Datei
Verfasst: Sa, 30.10.2010 00:21
von boser
Hallo,
ist es richtig, das du aus x-ods-Files , ein-ods-file erstellen willst. Also mergen. Oder hab ich dich missverstanden.
mfg
boser
Re: datenexport aus mehreren ods-dateien in eine neue ODS-Datei
Verfasst: Sa, 30.10.2010 13:23
von uwanoremin
mit dem x bin ich zur Zeit bei 4
ich habe auch schon mit der Funiktion DDE probiert, aber da dauert das alles zu lange, daher die Idee die Daten per
Script auszulesen zu verarbeiten und in einer neuen Tabelle einzufügen
Re: datenexport aus mehreren ods-dateien in eine neue ODS-Datei
Verfasst: Sa, 30.10.2010 13:39
von turtle47
Hallo
vielleicht hilft Dir folgender
Beitrag weiter.
Viel Erfolg.
Jürgen
Re: datenexport aus mehreren ods-dateien in eine neue ODS-Datei
Verfasst: Sa, 30.10.2010 19:02
von uwanoremin
Vielen Dank turtle47
so ähnlich sollte es werde, aber statt der Formel möchte ich wirklich nur den Inhalt der Zellen haben
mycell2.formula= "=('" & dPath & "/" & sValue1 & "'#$Tabelle1.D8)" 'Wert aus Tabelle1 Zelle B8
Diese Zeile schreibt ja nur die Formel in die Zelle mycell2, kann ich den Wert denn auch als Integer auslesen
damit was machen und dann nur als Wert (Zahl oder Text, oder...) in eine neue Tabelle schreiben
Gruss
Re: datenexport aus mehreren ods-dateien in eine neue ODS-Datei
Verfasst: So, 31.10.2010 07:45
von turtle47
uwanoremin hat geschrieben: Leider habe ich nicht's brauchbares im Netz gefunden, immer nur die Aussage, dass das nicht mit mehreren Dateien geht.
Wo hast Du denn eigentlich diesen Blödsinn gelesen
uwanoremin hat geschrieben: kann ich den Wert denn auch als Integer auslesen
damit was machen und dann nur als Wert (Zahl oder Text, oder...) in eine neue Tabelle schreiben
Ja, das geht so:
Code: Alles auswählen
Sub Main
Dim sPath, fullPath As String
Dim r , iResult as Integer
Dim oDocument, thisDoc, oSheet, ocell1 as Object
sPath = "D:\Dein Ordner" & getpathseparator 'Ort der die Dateien enthält >> Pfad anpassen!
r = 1 'Startwert Zeile setzen
sFileName = Dir$(sPath & getPathSeparator() & "*", 0)
Do
fullPath = converttourl(sPath & sFileName)
sFileName = Dir$
'folgend Quelldokument im Hintergrund öffnen
dim myFileProp(0) as New com.sun.star.beans.PropertyValue
myFileProp(0).name = "Hidden"
myFileProp(0).value = true
oDocument = StarDesktop.loadComponentFromURL(fullPath, "_blank", 0, myFileProp())
'folgend Wert aus Quelldokument lesen und Wert berechnen
oSheet = oDocument.sheets(0) 'erstes Tabellenblatt des Quelldokumentes
iVal = osheet.getCellRangebyName("A5").value 'Integerwert auslesen
iResult = iVal * 5 'Berechnung
'folgend berechneten Wert in das Zieldokument schreiben
thisDoc = thisComponent 'Zieldokument ansprechen
oSheet = thisDoc.sheets(0) 'erstes Tabellenblatt der Zieldatei
ocell1 = osheet.getCellByPosition(0,r)'Spalte A , Zeile r
ocell1.value = iResult 'berechneten Wert eintragen
r = r + 1 'Zeile hochzählen
redim myFileProp
oDocument.close(true) 'Quelldokument schliessen
Loop Until sFileName = ""
msgbox "Der Vorgang ist abgeschlossen" ,64 , "Dateien auslesen"
End Sub
Jürgen