Hallo,
bis jetzt ist mir alles was ich erreichen wollte, zumindest nach einigem Suchen und Probieren, ganz gut gelungen. Doch jetzt stehe ich an: ich soll einen Datenbereich auf 2 Tabellen einer Zieldtei kopieren. Ich habe mir dazu einen Makro "gestrickt" der ohne Fehlermeldung durchläuft, das Zieldokument öffnet und auch wieder schließt aber es werden keine Daten kopiert. Ich würde mich sehr freuen wenn mir jemand auf die Sprünge helfen könnte. Hier ist meine Code:
Sub Bereich_kopieren
oDoc1=ThisComponent ! Quelle
'Aktuelles Verzeichnis einlesen und Ziel-Datei öffnen
surl = thiscomponent.url
apfad = split(surl,"/")
apfad(ubound(apfad)) = "ziel.ods"
sURL = convertToURL(join(apfad,"/"))
dim myFileProp() as new com.sun.star.beans.PropertyValue
oDoc2 = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, myFileProp())
'1: Auslesen der Daten von quelle.ods in ein Array der Daten
aDaten=oDoc1.Sheets(3).getCellRangeByName("A3:B503").getDataArray
'Schreiben der Daten in ziel.ods
oDoc2.Sheets(2).getCellRangeByName("A5:B505").setDataArray(aDaten)
oDoc2.Sheets(4).getCellRangeByName("A5:B505").setDataArray(aDaten)
'Ziel-Datei schließen
oDoc2.close(false)
End Sub
Zuletzt geändert von kilix am Fr, 02.06.2023 10:31, insgesamt 1-mal geändert.
Sub Bereich_kopieren
quelle=ThisComponent
surl = quelle.url '»thisComponent« nicht mehrmals verwenden auch nicht zweimal!
apfad = split(surl,"/")
apfad(ubound(apfad)) = "ziel.ods"
sURL = convertToURL(join(apfad,"/"))
dim myFileProp() as new com.sun.star.beans.PropertyValue
ziel = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, myFileProp())
'Achtung ich habe die Datenbereiche zum testen geändert
aDaten = quelle.Sheets(3).getCellRangeByName("A13:J13").getDataArray()
ziel.Sheets(2).getCellRangeByName("A15:J15").setDataArray(aDaten)
ziel.Sheets(4).getCellRangeByName("A16:J16").setDataArray(aDaten)
ziel.store() 'Vor dem Schliessen einer Datei sollte man speichern
ziel.close(false)
End Sub
LO7.4.7.2debian 12(bookworm) auf Raspberry4b 8GB (64bit) LO7.6.0.3 flatpakdebian 12(bookworm) auf Raspberry4b 8GB (64bit)
Danke, das hilft mir weiter! Bisher schaffte ich es nur aus einem Quell-Dokument in das geöffnete Ziel-Dokument zu koepieren. Damit wird es auch in die andere Richtung gehen. Nochmals Danke, das hilft mir sehr!