selektion kopieren

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

Moderator: Moderatoren

ooodoc
Beiträge: 9
Registriert: Sa, 17.12.2005 17:45

selektion kopieren

Beitrag von ooodoc »

Hallo
Der folgende Code selektiert eine Spalte, den Inhalt der Spalte würde ich gern kopieren.
Habe aber über select und copy nichts gefunden.

Code: Alles auswählen

sub Blatt_Spalte
  doc = ThisComponent
  a = doc.getCurrentController
  'gesamte Spalte markieren
  a.select(doc.Sheets(0).Columns(0))
end sub
Gruß OTTO
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Re: selektion kopieren

Beitrag von Toxitom »

Hey Otto,

der einfachte Weg: Nimm den Markorekorder und zeichne dir das "Copy&Paste" Ereignis auf - anschliessend passt du das Ganze entsprechend an.
Copy und Einfügen ist mit dem Dispatcher-Code machbar - und wohl auch der schnellste Weg.
Über UNO würdest du den Inhaltsarray er Selektion (Bereich) auslesen und diesen im neuen Bereich eintragen. Ist aber deutlich umständlicher als mit dem Dispatcher -Code ;-)

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: selektion kopieren

Beitrag von komma4 »

Gast hat geschrieben:da der Dispatcher Code zu unübersichtlich ist.

Otto,

Code: Alles auswählen

oDok = ThisComponent
oDokCtrl = oDok.getCurrentController() 
oRahmen = oDokCtrl.getFrame()

' die Auswahl kopieren
REM copy the current selection to the clipboard.
oDispatchHelper = createUnoService( "com.sun.star.frame.DispatchHelper" )
oDispatchHelper.executeDispatch( oRahmen, ".uno:Copy", "", 0, Array() ) 
Vielleicht unverständlich, aber übersichtlich
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)
Antworten