[gelöst] Problem mit Kopie eines Bereichs auf Ziedatei

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

Moderator: Moderatoren

kilix
****
Beiträge: 128
Registriert: So, 09.04.2023 11:27

[gelöst] Problem mit Kopie eines Bereichs auf Ziedatei

Beitrag von kilix »

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:

Code: Alles auswählen

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.
Grüße
kilix
Karolus
********
Beiträge: 7438
Registriert: Mo, 02.01.2006 19:48

Re: Problem mit Kopie eines Bereichs auf Ziedatei

Beitrag von Karolus »

Hallo

Code: Alles auswählen

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.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
kilix
****
Beiträge: 128
Registriert: So, 09.04.2023 11:27

Re: Problem mit Kopie eines Bereichs auf Ziedatei

Beitrag von kilix »

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!
Grüße
kilix
Antworten