BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Die Markierung einer Zeile nach dem Kopieren aufheben

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
Wolfgang
Beiträge: 62
Registriert: Mi 30. Mai 2012, 17:14

Die Markierung einer Zeile nach dem Kopieren aufheben

Beitrag von Wolfgang » So 29. Mär 2020, 14:26

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"?

mikele
Beiträge: 1642
Registriert: Mo 1. Aug 2011, 20:51

Re: Die Markierung einer Zeile nach dem Kopieren aufheben

Beitrag von mikele » So 29. Mär 2020, 16:22

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).
Gruß,
mikele

Wolfgang
Beiträge: 62
Registriert: Mi 30. Mai 2012, 17:14

Re: Die Markierung einer Zeile nach dem Kopieren aufheben

Beitrag von Wolfgang » So 29. Mär 2020, 17:15

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.

mikele
Beiträge: 1642
Registriert: Mo 1. Aug 2011, 20:51

Re: Die Markierung einer Zeile nach dem Kopieren aufheben

Beitrag von mikele » So 29. Mär 2020, 19:22

Hallo,
wie sieht das Makro aus?
Gruß,
mikele

Wolfgang
Beiträge: 62
Registriert: Mi 30. Mai 2012, 17:14

Re: Die Markierung einer Zeile nach dem Kopieren aufheben

Beitrag von Wolfgang » So 29. Mär 2020, 19:51

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

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten