datenexport aus mehreren ods-dateien in eine neue ODS-Datei

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

uwanoremin
Beiträge: 3
Registriert: Fr, 29.10.2010 23:05

datenexport aus mehreren ods-dateien in eine neue ODS-Datei

Beitrag 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
Benutzeravatar
boser
*****
Beiträge: 264
Registriert: Mi, 02.09.2009 08:28
Kontaktdaten:

Re: datenexport aus mehreren ods-dateien in eine neue ODS-Datei

Beitrag 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
mfg
boser

linux suse 11.4 / 12.2 ; LibreOffice 3.4.2
uwanoremin
Beiträge: 3
Registriert: Fr, 29.10.2010 23:05

Re: datenexport aus mehreren ods-dateien in eine neue ODS-Datei

Beitrag 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
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: datenexport aus mehreren ods-dateien in eine neue ODS-Datei

Beitrag von turtle47 »

Hallo


vielleicht hilft Dir folgender Beitrag weiter.

Viel Erfolg.

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
uwanoremin
Beiträge: 3
Registriert: Fr, 29.10.2010 23:05

Re: datenexport aus mehreren ods-dateien in eine neue ODS-Datei

Beitrag 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
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: datenexport aus mehreren ods-dateien in eine neue ODS-Datei

Beitrag 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
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
Antworten