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