[Gelöst] Gestrichelter Rahmen bei copy & paste

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

Moderator: Moderatoren

Benutzeravatar
womolbo
**
Beiträge: 26
Registriert: So, 12.04.2020 12:43

[Gelöst] Gestrichelter Rahmen bei copy & paste

Beitrag von womolbo »

Hallo,
kann mir jemand einen Hinweis geben, wie ich den gestrichelten und sich wie ein Lauflicht bewegenden Rahmen um
den markierten Zellbereich entfernen kann beim Einsatz von copy & paste im Makro per Dispatcher?
Das Verhalten ist identisch wie beim manuellen Kopieren mit ^C und ^V.

Die verwendeten Anweisungen lauten:
...
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array()) 'Kopieren in die ZA: ab jetzt wird der Rahmen sichtbar, wie bei ^V in Calc
...
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array()) 'Einfügen aus der ZA: nun soll der Rahmen spätestens wieder verschwinden
...
ESC-Taste drücken funktioniert zum Beispiel bei manuellem Betrieb. Aber wie könnte man ein ESC per Makro senden?
Gibt es bei .uno:Copy Parameter, mit denen man es steuern könnte?
...

Vielen Dank an jeden der sich die Mühe macht eine sinnhafte Antwort zu formulieren.
Aber auch an jeden der sich weniger sinnhafte Antworten verkneift. Ist ja leider auch schon eine Leistung.

Gruß
Womolbo
Zuletzt geändert von womolbo am Fr, 02.12.2022 14:01, insgesamt 2-mal geändert.
LibreOffice Portable 6.3.5.2 (x86), Windows 7
Karolus
********
Beiträge: 7438
Registriert: Mo, 02.01.2006 19:48

Re: Gestrichelter Rahmen bei copy & paste

Beitrag von Karolus »

Hallo

Falls Quellbereich und Zielzelle bekannt sind, kannst du die Methode …copyRange( ziel.CellAddress, quelle.RangeAddress) benutzen.

Beispiel für LO in python:

Code: Alles auswählen

def copy_per_api(*_):
    doc = XSCRIPTCONTEXT.getDocument()
    sheet = doc.CurrentController.ActiveSheet
    sheet.copyRange(sheet["E11"].CellAddress, sheet["A4:A15"].RangeAddress)
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Benutzeravatar
womolbo
**
Beiträge: 26
Registriert: So, 12.04.2020 12:43

Re: Gestrichelter Rahmen bei copy & paste

Beitrag von womolbo »

Hallo Karolus,

danke für die schnelle Unterstützung.
Ich hatte den Eindruck, das bei UNO-Code relative Adressen in Formeln nicht an die Zielzelle angepasst werden. Liege ich falsch?
Ansonsten wäre Dein Vorschlag eine viel bessere Lösung.
Ich kann es die nächsten Tage leider nicht selber testen, da auf Reisen und nur Android verfügbar.

Gruß
Womolbo
Zuletzt geändert von womolbo am Fr, 02.12.2022 14:02, insgesamt 1-mal geändert.
LibreOffice Portable 6.3.5.2 (x86), Windows 7
Karolus
********
Beiträge: 7438
Registriert: Mo, 02.01.2006 19:48

Re: Gestrichelter Rahmen bei copy & paste

Beitrag von Karolus »

Ja da liegst du falsch! - der code oben kopiert genauso wie <strg>c & <strg>v
per API gibts aber auch noch andere Möglichkeiten Dinge von a nach b zu transportieren, wo es dann sich anders verhält.
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Benutzeravatar
womolbo
**
Beiträge: 26
Registriert: So, 12.04.2020 12:43

Re: Gestrichelter Rahmen bei copy & paste

Beitrag von womolbo »

Na dann, hervorragend. Danke.
Wird bei erster Gelegenheit implementiert und noch abschließend rückgemeldet.
Tolle Hilfe.
LibreOffice Portable 6.3.5.2 (x86), Windows 7
Benutzeravatar
womolbo
**
Beiträge: 26
Registriert: So, 12.04.2020 12:43

Re: Gestrichelter Rahmen bei copy & paste

Beitrag von womolbo »

Hallo Karolus [und alle anderen interessierten Leser],

endlich bin ich dazu gekommen Deinen Lösungsvorschlag
zu testen und Du hast Recht. CopyRange() verhält sich
genauso wie ^V/^C, also genauso wie ich es haben will
und ohne jegliche Nachteile.

Vielen Dank nochmals für Deine Unterstützung und gute
Zeit.

Gruß
Womolbo
LibreOffice Portable 6.3.5.2 (x86), Windows 7
Antworten