Seite 1 von 1

Bezug nicht auf Zellen sondern Weg

Verfasst: Di, 13.10.2020 05:45
von Frido
Guten Morgen,
ich habe eben erst angefangen mich mit Makros zu beschäftigen, deshalb seht mir nach wenn ich mich etwas ungelenk Ausdrücke.
Ich habe eine Tabelle in der ich den Inhalt immer wieder einen Zellinhalt nach rechts und eine Zelle nach oben verschieben will.
Ich habe es hin bekommen ein Makro zu erstellen mit Bezug auf eine Zelle aber nicht auf den "Weg". Geht so was zu machen?
Danke schonmal Frido.

dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$80"

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

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

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$B$79"

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

Re: Bezug nicht auf Zellen sondern Weg

Verfasst: Di, 13.10.2020 09:10
von Stephan
dann solltest Du beim Aufzeichnen nicht die Zelle per Maus anklicken, sondern genau tun was Du tun willst, also markieren per Pfeiltaste-rechts und Pfeiltaste-hoch, ergibt:

Code: Alles auswählen

sub rechts_oben
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(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "By"
args1(0).Value = 1
args1(1).Name = "Sel"
args1(1).Value = false

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

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

dispatcher.executeDispatch(document, ".uno:GoUp", "", 0, args2())


end sub

Gruß
Stephan

Re: Bezug nicht auf Zellen sondern Weg

Verfasst: Di, 13.10.2020 09:42
von Frido
Hallo Stephan,
Danke, es hat geklappt. Das hilft mir sehr.
Grüße Frido