Formularfeld in Zwischenablage kopieren

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Formularfeld in Zwischenablage kopieren

Beitrag von AhQ »

Hallo liebes Forum,

ich hab wieder mal ein kleines Problem. Ich würde gerne eine Telefonnummer, die in meiner MySQL-Datenbank in einem bestimmten Feld hinterlegt ist (Feldname: TEL), automatisch (= mit einem Makro-Code) in die Zwischenablage kopieren, um diese dann in einem anderen Programm zu verarbeiten. Jetzt hab ich versucht, anhand des Makrobuches von Thomas Krumbein, S. 320 ff. mich durchzuwurschteln und hab alle Tipps dieses Forums zu diesem Thema probiert, aber leider ohne Erfolg.

Wie in aller Welt kann ich dieses doofe Feld auslesen und an die Zwischenablage kopieren?

Für Hilfe wäre ich sehr dankbar...

Viele Grüße

AhQ
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Formularfeld in Zwischenablage kopieren

Beitrag von komma4 »

1. zum Auslesen: bekannten Code (Suchfunktion!) zum Auslesen eines Feldes aus einer Datenquelle verwenden, diesen Wert in ein (neues, leeres?) Writer schreiben
2. den Wert markieren (selektieren)
3. zum Einstellen in die Zwischenablage folgenden dispatcher-Code verwenden (übernimmt die Selektion in die Zwischenablage):

Code: Alles auswählen

Sub CrossCopy()
oCtrl = ThisComponent.getCurrentController() 
oRahmen = oCtrl.getFrame()
oDispatchHelper = createUnoService( "com.sun.star.frame.DispatchHelper" )
oDispatchHelper.executeDispatch( oRahmen , ".uno:Copy", "", 0, Array() ) 
End Sub
Hilft das schon?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Re: Formularfeld in Zwischenablage kopieren

Beitrag von AhQ »

Hallo komma4,

den Wert auslesen ist kein Problem (wenigstens etwas...), dann würde ich es aber gerne ohne den Umweg über das Writer-Dokument schaffen, den Wert gleich in die Zwischenablage zu bringen. Geht das auch irgendwie?

Danke schonmal für Deine Hilfe!

Viele Grüße
Ahq
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Formularfeld in Zwischenablage kopieren

Beitrag von komma4 »

AhQ hat geschrieben:den Wert gleich in die Zwischenablage zu bringen. Geht das auch irgendwie?
Sorry: wenn ich das wüsste - hätte ich es geschrieben....

in der API gesucht:
Es gibt ein Objekt, dass erzeugt und befüllt werden könnte:
http://api.openoffice.org/docs/common/r ... board.html

mit dem Suchbegriff XClipboard finde ich dieses Beispiel: http://www.oooforum.org/forum/viewtopic ... xclipboard

Hilft das?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Re: Formularfeld in Zwischenablage kopieren

Beitrag von AhQ »

auf alle Fälle hast Du mir nochmal neue Ansätze geliefert. Vielleicht komm ich ja morgen so weiter.

Danke

AhQ
AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Re: Formularfeld in Zwischenablage kopieren

Beitrag von AhQ »

Hallo Miteinander,

jetzt brauch ich doch Eure Hilfe.

Ich hab jetzt nach bestem Wissen und Gewissen komma4s Ratschläge versucht, für mich dienstbar zu machen, leider ohne Erfolg. Ich habe daraufhin im englischen OOo-Forum mich herumgetrieben, bin aber auch nicht glücklich geworden.

Weiß irgend jemand, ob und wie man ganz einfach aus einem Formularfeld (in Base natürlich, und das Feld ist immer das Gleiche), welches seine Daten aus einer MySQL-Datenbank bezieht, einen String ausliest und diesen in die Zwischenablage kopiert? Mir reicht es vollkommen, wenn der Wert da drin ist, nur leider bekomm ich ihn da nicht rein... :(

Vielen Dank

AhQ
Antworten