Selektierte Zellen kopieren von Arbeitsmappe zu Arbeitsmappe

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

Moderator: Moderatoren

Quendolin
Beiträge: 5
Registriert: Sa, 23.08.2014 14:34

Selektierte Zellen kopieren von Arbeitsmappe zu Arbeitsmappe

Beitrag von Quendolin »

Hallo Zusammen,

nun bin ich seit Tagen am Verzweifeln.

Aufgabenstellung:
In einem Calc-Dokument "Bank.ods" Tabelle1 habe ich Daten, welche ich in ein anderes Calc-Dokument "Haushalt.ods" Tabelle5 über ein Macro kopieren möchte.
Dazu müssen die Zellen von Bank.ods, Tabelle 1 selektiert und kopiert werden.

Code: Alles auswählen

oSel1 = oSheet1.getCellRangeByName("A2:F78") 
und in Haushalt.ods Tabelle 5 eingefügt werden.

Code: Alles auswählen

oSel0 = oSheet0.getCellRangeByName("A12")
Problemstellung:
Alle Beispiele, die ich gefunden habe sind nur innerhalb einer Arbeitsmappe, aber nicht von Arbeitsmappe zu Arbeitsmappe.
Das Makro wird aus "Haushalts.ods" gestartet und ist "ThisComponent". Wie man den CurrentController oder ThisComponent dabei richtig zuweisen kann, ist mir unklar.
Auch die Methode setActiveSheet(oObject) funktioniert bei mit nicht.
Wie kann man dann zwischen den zwei Dokumenten hin und her switchen?

Es müßte doch so funktionierten.
1.) Datei "Haushalts.ods" öffnen und Makro starten.
2.) Datei "Bank.ods" öffnen und Bereich "A12:F78" markieren und kopieren.
3.) Transfervariable festlegen.
4.) Arbeismappe "Haushalt.ods" aktivieren "Tabelle5".A12 und einfügen.

Vielen Dank für Eure Vorschläge.
Gruß
Niko


_________________
Moderation: Thema von OOo Calc nach OOo Basic und Java verschoben, wo alle Themen zur Basic-Programmierung hingehören.—lorbass, Moderator
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Selektierte Zellen kopieren von Arbeitsmappe zu Arbeitsm

Beitrag von Stephan »

Es müßte doch so funktionierten.
1.) Datei "Haushalts.ods" öffnen und Makro starten.
2.) Datei "Bank.ods" öffnen und Bereich "A12:F78" markieren und kopieren.
3.) Transfervariable festlegen.
4.) Arbeismappe "Haushalt.ods" aktivieren "Tabelle5".A12 und einfügen.
Wenn Das das Ziel ist ist es doch ganz leicht zu erreichen, die öffnenden Dokumente in 1. und 2. müssen nur jeweils einer Objektvariable zugeordnet werden also z.B.:

Code: Alles auswählen

url=converttourl("C:\Haushalts.ods")
dim myFileProp() as new com.sun.star.beans.PropertyValue
dok_1 = StarDesktop.loadComponentFromURL(url, "_blank", 0, myFileProp() )

url=converttourl("C:\Bank.ods")
dim myFileProp2() as new com.sun.star.beans.PropertyValue
dok_2 = StarDesktop.loadComponentFromURL(url, "_blank", 0, myFileProp2() )
und anschliessend kannst Du mit dok_1 und dok_2 programmiertechnisch gensauso umgehen wie mit ThisComponent, denn Beide entsprechen ThisComponent für die jeweilige DAtei (Haushals.ods oder Bank.ods).


Gruß
Stephan
Quendolin
Beiträge: 5
Registriert: Sa, 23.08.2014 14:34

Re: Selektierte Zellen kopieren von Arbeitsmappe zu Arbeitsm

Beitrag von Quendolin »

Hey Stephan,

hat super funktioniert! Besten Dank.
Bin nicht dazu gekommen früher zu antworten.

Gruß
Niko
Antworten