Seite 1 von 1

eine writer-Tabelle per Makro auswählen, kopieren und in einem anderen Dokument einfügen

Verfasst: So 18. Jun 2023, 19:29
von launcher
Hallo Leute,
ich will aus einem writer-Textdokument heraus eine Tabelle, die sich in einem anderen writer-Textdokument befindet, auswählen (z.B. objTabelle = ThisComponent.getTextTables().getByName("Tabelle2"))
diese dann kopieren (z.B. über das Clipboard oder dipatcher dispatcher.executeDispatch(myNewDoc, ".uno:Copy", "", 0, objTabelle))
und dann im Ausgangsdokument einfügen.
Zwar kann ich das objTabelle als Objekt erfolgreich identifizieren und ansprechen (durch obigen Befehl), aber nicht in Gänze kopieren.
Kann mir da jemand helfen?

Re: eine writer-Tabelle per Makro auswählen, kopieren und in einem anderen Dokument einfügen

Verfasst: Mo 19. Jun 2023, 09:21
von mikele
Hallo,
bei Andrew Pitonyak
https://www.prooo-box.org/live/dokument ... eutsch.pdf
findet sich folgender Code

Code: Alles auswählen

Sub CopyNamedTableToEndUsingTransferable(sName As String)
Dim oTable 'Die zu kopierende Tabelle
Dim oText 'Das Textobjekt des Dokuments
Dim oVCursor 'Der aktuelle Viewcursor
Dim o 'Übertragbarer Content der aktuellen Auswahl
oVCursor = ThisComponent.CurrentController.getViewCursor()
oText = ThisComponent.getText()
If Not ThisComponent.getTextTables().hasByName(sName) Then
MsgBox "Oh, das Dokument enthält nicht die Tabelle " & sName
Exit Sub
End If
oTable = ThisComponent.getTextTables().getByName(sName)
REM Platziert den Cursor an den Anfang der ersten Zelle.
REM So simpel!
ThisComponent.CurrentController.select(oTable)
oVCursor.gotoEnd(True) 'Bewegt den Cursor an das Ende der aktuellen Zelle.
oVCursor.gotoEnd(True) 'Bewegt den Cursor an das Ende der Tabelle.
o = ThisComponent.CurrentController.getTransferable()
REM Setzt den Cursor an das Endes des Dokuments und fügt die Tabelle ein.
oVCursor.gotoRange(oText.getEnd(), False)
ThisComponent.CurrentController.insertTransferable(o)
End Sub

Re: eine writer-Tabelle per Makro auswählen, kopieren und in einem anderen Dokument einfügen

Verfasst: Mo 19. Jun 2023, 17:05
von launcher
Super, Danke!
Es ist so einfach, wenn man weiß, wies geht...
Auch danke für den Link zu Andrew Pitonyak, den kannte ich auch nicht.