Zellen per makro übertragen

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

Moderator: Moderatoren

han248
Beiträge: 1
Registriert: Mi, 04.05.2011 21:02

Zellen per makro übertragen

Beitrag von han248 »

Guten Tag zusammen,

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
wie kann ich die Werte zwischenspeichern die ich hiermit einlese:

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
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Zellen per makro übertragen

Beitrag von DPunch »

Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Zellen per makro übertragen

Beitrag von komma4 »

Willkommen im Forum.
han248 hat geschrieben:ich versuche zum ersten Mal aus Base schlau zu werden.
Wünsche ich Dir viel Glück dabei.

BASE hat mit CALC relativ wenig gemeinsam - programmier-technisch gesehen 8)
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Antworten