Hallo Dietzer,

Dieter schrieb am 05.04.2008:
>In meinem Rechnungsformular habe ich neben der eigentlichen Rechnung 
>eine Zeile über mehrere  Spalten, in denen sich  Daten aus dieser 
>Tabelle, (Datum, Namen, Preise, Summen) sammeln. Diese Zellen kopiere 
>ich, wenn alles fertig ist,  in eine andere Tabelle und erstelle mir 
>damit eine Liste. Das mache ich so: Zellen markieren, "kopieren" 
>klicken, die andere Tabelle öffnen, die nächste freie Zeile markieren, 
>"Inhalte einfügen" klicken. Das geht gut, ist aber umständlich. Geht das 
>wohl irgendwie eleganter mit einem (oder zwei)  Klicks?

ich habe ein Makro aufgezeichnet und etwas angepaßt, siehe unten. Das kopiert
die  Zellen A15 bis E15 (kannst Du problemlos im code anpassen) und fügt sie
in Tabelle2 (kannst Du bei args3(0).Value von JumpToTable auch einfach
anpassen) als unterste Datenzeile ein. Voraussetzung ist, daß Du in Tabelle2
wenigstens in Zelle A2 schon etwas stehen hast (z.B. eine Überschrift), sonst
schreibt Dir das Makro die Daten in Zeile 65536 ;-)

Das kann man sicher viel eleganter lösen, aber ich habe noch nie etwas in OOo
programmiert und finde auch momentan auch keine Befehlsreferenz. Vielleicht
kann mir ein Mitleser dazu einen Tip geben.

Das Makro habe ich dann an eine Schaltfläche gebunden, die ich in dem
angenommenen Rechnungsformular eingefügt habe: Ansicht -> Symbolleisten ->
Formularsteuerelemente -> dann einen Button zeichnen -> Rechtsklick ->
Kontrollfeld -> Ereignisse -> Beim Auslösen -> ... Zuweisen Makro -> Makro
wählen -> zurück und Entwurfsmodus ausschalten -> fertig. Nun reicht ein
Klick und die Daten stehen jedes mal an gewünschter Stelle.

Gruß

Udo
Hier der code:
_________________________________________________________________________
sub Test_Datenauf_anderes_Tabellenblattkopieren
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$15:$E$15"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Nr"
args3(0).Value = 2

dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args3())

rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Sel"
args4(0).Value = false

dispatcher.executeDispatch(document, ".uno:GoToStart", "", 0, args4())

rem ----------------------------------------------------------------------
dim args5(1) as new com.sun.star.beans.PropertyValue
args5(0).Name = "By"
args5(0).Value = 1
args5(1).Name = "Sel"
args5(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDownToEndOfData", "", 0, args5())

rem ----------------------------------------------------------------------
dim args6(1) as new com.sun.star.beans.PropertyValue
args6(0).Name = "By"
args6(0).Value = 1
args6(1).Name = "Sel"
args6(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args6())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())

end sub


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Antwort per Email an