Seite 1 von 1

wieder einmal copy&paste

Verfasst: Di, 09.05.2017 21:01
von kalle05
Hallo Gemeinde,
ihr könnt mir bestimmt weiterhelfen. Ich habe inzwischen einen starren Blick bekommen, vom vielen Lesen.
Trotzdem weiß ich nicht mehr weiter.
Es soll von einem aktiven Blatt (Tabelle 1, 5 oder 20) die Zeilen A3 bis D4 kopiert und immer in die Tabelle 2, in D4 bis G5 geschrieben werden.
Was muss ich tun, um das Quellblatt zu definieren, ohne es direkt anzusprechen ? Mit „ getCellRangeByName“ geht es offensichtlich nicht.
Und damit auch nicht: „osheet=odoc.currentcontroller.activesheet“.
Vielen Dank für eure Hilfe.

sub Datenbereich_kopieren_Zeileeinfuegen

oDoc = ThisComponent
oSheet = ThisComponent.CurrentController.getActiveSheet() 'aktiv

myDoc = thisComponent
myView = myDoc.CurrentController 'Cursor



Quellblatt = oDoc.CurrentController
Zielblatt = oDoc.Sheets().getByName("Tabelle2")



adaten = Quellblatt.getCellRangeByName("A3:D4").getDataarray() =Eigenschaft oder Methode nicht gefunden

Zielblatt.getCellrangeByName("E2:F4").setdataarray(adaten)

myDoc = ThisComponent
myView = myDoc.CurrentController
mySheet = myDoc.Sheets.getByName("Tabelle2")
myView.setActiveSheet(mySheet)



end sub

Re: wieder einmal copy&paste

Verfasst: Di, 09.05.2017 21:11
von mikeleb
Hallo,
Was muss ich tun, um das Quellblatt zu definieren
Das hast du in deinem Code bereits.

Code: Alles auswählen

oSheet = ThisComponent.CurrentController.getActiveSheet() 'aktiv
oSheet ist das aktuelle Tabellenblatt, das du als Quellblatt nehmen kannst (du kannst natürlich auch noch Quellblatt=oSheet setzen).

Re: wieder einmal copy&paste

Verfasst: Di, 09.05.2017 21:24
von kalle05
Vielen Dank, dies hat geklappt.
Leider tritt beim Zielblatt ein Fehler auf und ich erkenne meinen Fehler nicht.


Zielblatt.getCellrangeByName("E2:F4").setdataarray(adaten) 'einfügen in A2:K2
FehlerMeldung:
Es ist eine Exception aufgetreten. Type: com.sun.star.uno. Runtime Exception Message.
Gruß Kalle

Re: wieder einmal copy&paste

Verfasst: Di, 09.05.2017 21:43
von mikeleb
Hallo,
Quell- und Zielbereich müssen gleichgroß sein.
Ich bin verwirrt: Am Anfang schreibst du D4 bis G5. Im Code steht dann E2:F4 und zuletzt
einfügen in A2:K2
???

Re: wieder einmal copy&paste

Verfasst: Di, 09.05.2017 21:50
von kalle05
Tut mir leid, habe den Bereich verwechselt.
ich habe das Zielblatt dementsprechend korrigiert und jetzt läuft das kleine Makro :lol:
Vielen Dank für Deine Hilfe
Gruß Kalle