ich versuche zum ersten Mal aus Base schlau zu werden. Tutorials und ähnliches scheinen Mangelware zu sein, deswegen der Weg übers Forum. Folgendes Problem:
Ich habe eine calc-Tabelle mit mehrern Blättern. Ich möchte ein Makro haben, welches die aktuell markierten Zellen in ein anderes Blatt übertragen. Und zwar dort in die Zellen mit den gleichen Koordinaten.
Aus dem rumfriemeln mit einem aufgezeichneten Makro kam ich zu folgendem Ergebnis. Es kopiert die aktuell markierten Zellen, dummerweise werden sie im Zielblatt in die Zelle eingefügt, die vorher schon markiert war.
Code: Alles auswählen
args4(0).Value = args1(0).Value
Code: Alles auswählen
args1(0).Value = ThisComponent.CurrentController.Frame
Hier das Beispiel und vielen Dank für Eure Hilfe
Code: Alles auswählen
sub uebernehmen
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"
rem args1(0).Value = "$F$21:$F$23"
args1(0).Value = ThisComponent.CurrentController.Frame
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
rem ---Einfügen in restliche Blätter--------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue rem --- Variable die Nummer des anzuwählenden Blattes trägt
dim args4(0) as new com.sun.star.beans.PropertyValue rem ---
rem ---Einfügen Februar
args3(0).Name = "Nr"
args3(0).Value = 1
args4(0).Name = "ToPoint"
args4(0).Value = args1(0).Value
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args3())
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args4())
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
end sub