Selektierte Zellen kopieren von Arbeitsmappe zu Arbeitsmappe

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Selektierte Zellen kopieren von Arbeitsmappe zu Arbeitsmappe

Re: Selektierte Zellen kopieren von Arbeitsmappe zu Arbeitsm

von Quendolin » Mo, 05.01.2015 17:10

Hey Stephan,

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

Gruß
Niko

Re: Selektierte Zellen kopieren von Arbeitsmappe zu Arbeitsm

von Stephan » So, 24.08.2014 13:01

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

Selektierte Zellen kopieren von Arbeitsmappe zu Arbeitsmappe

von Quendolin » So, 24.08.2014 12:28

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

Nach oben