Seite 1 von 1

Die Markierung einer Zeile nach dem Kopieren aufheben

Verfasst: So 29. Mär 2020, 14:26
von Wolfgang
Moin!

Ich habe ein Makro aufgezeichnet, dass an eine Tabelle eine neue Zeile fügt, welche die Formatierungen und Formeln der letzten Zeile enthält. Welchen Befehl kann ich am Ende des Makros anhängen, damit die gestrichelte Linie, die beim Kopieren entsteht, wieder verschwindet? Gibt es so etwas wie ein "unselectall"?

Re: Die Markierung einer Zeile nach dem Kopieren aufheben

Verfasst: So 29. Mär 2020, 16:22
von mikele
Hallo,
am Ende einfach ESC drücken.
Wozu eigentlich ein Makro? Zeile Markieren (ein Klick), Zeilen Kopieren (eine Tastenkombi), eine Zeile nach unten , Zeile einfügen (eine Tastenkombi).

Re: Die Markierung einer Zeile nach dem Kopieren aufheben

Verfasst: So 29. Mär 2020, 17:15
von Wolfgang
Der Makro soll mit einer Schaltfläche verknüpft werden. Es sollen auch nur die Formeln und Formatierungen kopiert werden.

Schaltfläche klicken: 1 Aktion mit definierten Schritten -> maximal 1 Möglichkeit für Fehler durch den Benutzer.

Konventioneller Weg: mind. 5 Aktionen nötig -> mindestens 5 Möglichkeiten für Fehler durch den Benutzer.

Das "ESC" hatte ich zwar noch als Teil des Makro aufgezeichnet, aber das reicht anscheinend nicht. Am Ende des Makros ist immer noch die Selektionslinie sichtbar.

Re: Die Markierung einer Zeile nach dem Kopieren aufheben

Verfasst: So 29. Mär 2020, 19:22
von mikele
Hallo,
wie sieht das Makro aus?

Re: Die Markierung einer Zeile nach dem Kopieren aufheben

Verfasst: So 29. Mär 2020, 19:51
von Wolfgang
Recht primitiv, aber wirksam. ;)

Code: Alles auswählen

sub neue_zeile

rem thiscomponent.lockControllers
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 args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Sel"
args2(0).Value = false

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

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

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

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

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

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

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 ----------------------------------------------------------------------
dim args7(0) as new com.sun.star.beans.PropertyValue
args7(0).Name = "Sel"
args7(0).Value = false

dispatcher.executeDispatch(document, ".uno:GoToStartOfRow", "", 0, args7())

rem ----------------------------------------------------------------------
dim args8(5) as new com.sun.star.beans.PropertyValue
args8(0).Name = "Flags"
args8(0).Value = "FNT"
args8(1).Name = "FormulaCommand"
args8(1).Value = 0
args8(2).Name = "SkipEmptyCells"
args8(2).Value = false
args8(3).Name = "Transpose"
args8(3).Value = false
args8(4).Name = "AsLink"
args8(4).Value = false
args8(5).Name = "MoveMode"
args8(5).Value = 4

dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args8())

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

dispatcher.executeDispatch(document, ".uno:GoToStartOfRow", "", 0, args9())

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

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Cancel", "", 0, Array())
rem thiscomponent.unlockControllers
end sub