Seite 1 von 1

Paste per makro

Verfasst: So 17. Mai 2015, 20:48
von elefantino
Hallo, gibt es eine Möglichkeit in einem Textfeld eines Baseformulars per makro den Inhalt der Zwischenablage einzufügen?
Klar ist natürlich, dass es Strg+v gibt, in meinem Fall würde ich dem Benutzer aber gerne einen Button mit der Funktion zur Verfügung stellen.

Version 4.2.2

Vielen Dank

Re: Paste per makro

Verfasst: So 17. Mai 2015, 22:21
von F3K Total
Hi,
dieses, im Writer aufgenommene Makro, geht dann, wenn du in den Eigenschaften der Schaltfläche, Reiter Allgemein, Fokussieren bei Klick-> nein einstellst.

Code: Alles auswählen

sub S_Paste
    dim document   as object
    dim dispatcher as object
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
end sub
Gruß R

Re: Paste per makro

Verfasst: Mo 18. Mai 2015, 09:06
von elefantino
Super Vielen Dank - funktioniert toll. Ich habe zwar auch mit der Makro-Aufzeichnung gespielt, allerdings bin ich nicht auf die Idee gekommen, die Fokusierung im Button abzuschalten - welchen Hintergrund hat das?

Re: Paste per makro

Verfasst: Mo 18. Mai 2015, 11:12
von RobertG
Hallo elefantino,

wenn Du einen Button drückst, dann erhält dieser Button den Focus. Der Inhalt würde also beim Klick auf den Button zum Button hin kopiert - und nirgendwo landen. Der Cursor muss weiterhin in dem Feld sein.

Das mit dem Fokussieren habe ich auch als Problem gesehen. Ausgeschaltet geht das Ganze vermutlich auch ohne Makro:
Eigenschaften des Buttons → URL → .uno:Paste
... habe ich jetzt nicht die Zeit, das zu testen.
------------------------- Nachtrag ----------
getestet:
Eigenschaften: Schaltfläche
→ Fokussieren bei Klick → Nein
→ Aktion → Dokument/Website öffnen
→ URL → .uno:Paste

... funktioniert ohne Makro im Writer, aber bei mir leider nicht in einem Base-Formular. Dort funktioniert aber auch nicht
Bearbeiten → Einfügen
sondern nur
Strg+V

Ich nehme an, dass da irgendetwas an meinem System hakt.

Gruß

Robert

Re: Paste per makro

Verfasst: Mo 18. Mai 2015, 20:45
von F3K Total
Hallo zusammen,
habe die Version von Robert mit

Code: Alles auswählen

.uno:Paste
gerade unter Windows & Linux Mint, LO 4.3.7 innerhalb eines Base-Formulares getestet:
1A, funktioniert wunderbar!
Danke Robert.
Gruß R

Re: Paste per makro

Verfasst: Di 19. Mai 2015, 08:50
von Acco
Hallo Allerseits,
RobertG hat geschrieben:... funktioniert ohne Makro im Writer, aber bei mir leider nicht in einem Base-Formular. Dort funktioniert aber auch nicht
Bearbeiten → Einfügen
sondern nur
Strg+V

Ich nehme an, dass da irgendetwas an meinem System hakt.
@Robert
Das ist bei mir unter openSUSE 13.2 und LO 4.4.2.2 genauso. ist anscheindend ein LO 4.4.2 Problem, oder openSUSE (soweit ich weiß nutzt Du das auch).

Gruß acco

Re: Paste per makro

Verfasst: Di 19. Mai 2015, 09:04
von elefantino
Auch bei mir funktioniert die Funktion ohne Makro (.uno:Paste), ich benütze LO 4.2.2, mit Windows 7.
Vielen Dank an alle, die sich damit beschäftigt haben.

Re: Paste per makro

Verfasst: Di 19. Mai 2015, 09:16
von Acco
Hallo Zusammen,

noch eine Ergänzung:

auch das Makro von F3K Total funktioniert in meinem System in Base nicht, im Writer hingegen einwandfrei.

Gruß acco

Re: Paste per makro

Verfasst: Di 19. Mai 2015, 15:52
von Acco
Hallo,

ich habe weiter probiert, dabei stellte sich heraus das in meinem System in Base "paste" gelingt, wenn es in ein normales Kontrollfeld erfolgt.

Sobald ich jedoch versuche - und das habe ich vorhin getan - in eine Spalte eines Base-Tabellen-Kontrollfeldes zu "pasten", gelingt das nicht.
Auch nicht in ein Tabellen-Kontrollfeld im Writer. In einer normalen Tabelle im Writer hingegen schon, weil da keine Anbindung an eine DB gegeben ist.

Gruß acco

Re: Paste per makro

Verfasst: Di 19. Mai 2015, 18:32
von RobertG
Hallo Acco,

bei mir ist's zwar eine andere LO-Version (4.3.7.2), aber eben auch OpenSUSE 13.2. Auch die SUSE-spezifische Version von LO will nichts aus der Zwischenablage einfügen, wenn es um Base geht. Da geht nur Strg+V.
Zuerst habe ich vermutet, dass das irgendwie an KDE hängt. Aber auch ein anderer Fenstermanager (xfce) brachte kein anderes Ergebnis. Ich meine, dass ich das auch schon bei vorhergehenden SuSE-Versionen hatte ...

Gruß

Robert