Hallo Fachfrauen und Fachmänner
Ich habe Code für Copy / Past auf 2 Arten geschrieben: via System-Clipboard ( XX_getTransferDate = selektierterInhalt / strContentClipboard = objDataObject.getTransferData(objDataTypSeq(0)) ) sowie mit Hilfe eines Array ( arrDataCopied = objQuelle.getDataArray() / objZiel.setDataArray(arrDataCopied()) ). Beides funktioniert einwandfrei. Aber damit wird nur der reine Text kopiert / eingefügt.
Kann mir jemand auf die Sprünge helfen, wie man gleichzeitig auch die Zell-Eigenschaften (CharColor, CharFontName, CharHeight etc. ) transferieren kann? Ich habe dafür gar keine Anhaltspunkte gefunden. Schlussendlich sollte es funktionieren wie CTRL/C und CTRL/V. Da ich mich auf dem Gebiet der OO-Programmierung noch zu den Anfängern zähle, wäre ich natürlich äusserst dankbar für ein Code-Beispiel.
Schon jetzt herzlichen Dank für Euren Aufwand! Hans Louis
Calc: Copy / Past Zelleninhalt - Zelleneigenschaften?
Moderator: Moderatoren
-
- Beiträge: 6
- Registriert: Fr, 01.01.2010 10:03
- Wohnort: Winterthur
-
- **
- Beiträge: 34
- Registriert: Fr, 06.11.2009 05:49
Re: Calc: Copy / Past Zelleninhalt - Zelleneigenschaften?
Hallo Hans.
Um Zellen innerhalb von Calc zu kopieren brauchst Du die Zwischenablage nicht. Dafür gibt es copyRange()
Siehe auch: http://wiki.services.openoffice.org/wik ... and_Ranges
Peter
Um Zellen innerhalb von Calc zu kopieren brauchst Du die Zwischenablage nicht. Dafür gibt es copyRange()
Code: Alles auswählen
Sub ZellenKopieren()
Dim oQuelle As Object
Dim oZiel As Object
With ThisComponent.Sheets(0)
oQuelle = .getCellRangeByName("A1:C5")
oZiel = .getCellRangeByName("E7")
.copyRange(oZiel.CellAddress, oQuelle.RangeAddress)
End With
End Sub
Peter
-
- Beiträge: 6
- Registriert: Fr, 01.01.2010 10:03
- Wohnort: Winterthur
Re: Calc: Copy / Past Zelleninhalt - Zelleneigenschaften?
Guten Tag Peter
Vielen Dank für die schnelle Reaktion auf meine Frage. Ich muss etwas ausholen. Ich bin daran zu ergründen (Learning by doing), wie man in Calc das machen kann, was ich anderswo (u.a. Visual Basic, VBA, Java etc) schon praktisch angewendet habe. CopyRange hat den Nachteil, dass es nur innerhalb des geöffneten Calc-Dokumentes angewendet werden kann. (Für internes Kopieren ist es sicher die beste Lösung). Ich bin deshalb nach wie vor interessiert an einer Clipboard-Lösung. Eine praktische Anwendung könnte so aussehen: Ich mache in Calc per Code eine Auswertung und möchte am Schluss das Resultat (Zellenbereich) im Clipboard haben, damit ich es irgendwo anders mit CTRL/V sofort einfügen kann. Dies wo auch immer: IWriter, Word, Excel, Grid von VB-Applikationen. Das funktioniert mit CTRL/C / CTRL/V ja super.
Nochmals vielen Dank und beste Grüsse Hans Louis
Vielen Dank für die schnelle Reaktion auf meine Frage. Ich muss etwas ausholen. Ich bin daran zu ergründen (Learning by doing), wie man in Calc das machen kann, was ich anderswo (u.a. Visual Basic, VBA, Java etc) schon praktisch angewendet habe. CopyRange hat den Nachteil, dass es nur innerhalb des geöffneten Calc-Dokumentes angewendet werden kann. (Für internes Kopieren ist es sicher die beste Lösung). Ich bin deshalb nach wie vor interessiert an einer Clipboard-Lösung. Eine praktische Anwendung könnte so aussehen: Ich mache in Calc per Code eine Auswertung und möchte am Schluss das Resultat (Zellenbereich) im Clipboard haben, damit ich es irgendwo anders mit CTRL/V sofort einfügen kann. Dies wo auch immer: IWriter, Word, Excel, Grid von VB-Applikationen. Das funktioniert mit CTRL/C / CTRL/V ja super.
Nochmals vielen Dank und beste Grüsse Hans Louis