Bonjour,
Hors contexte, je ne vois pas bien où est le problème avec sélectionner le contenu de la page, copier, coller.
Ceci dit j'ai dans mes stocks une macro qui sélectionne la page où se trouve le curseur et la copie dans un nouveau document :
'**************************
Option Explicit
Sub ExportPage
REM Exporte dans un fichier odt la page où se trouve le curseur
'd'après https://forum.openoffice.org/fr/forum/viewtopic.php?f=8&t=41470
Dim oDoc as Object
Dim nomFichier,adresseDoc, numPage as String
Dim curseurVisible as Object, oRangeFinPage as Object, aCopier as Object
oDoc = ThisComponent
curseurVisible = oDoc.CurrentController.ViewCursor
'récupérer le n° de la page
numPage=curseurVisible.page
'sélectionner le contenu de la page
With curseurVisible
.jumpToStartOfPage
.jumpToEndOfPage
oRangeFinPage = .end
.jumpToStartOfPage
.gotoRange(oRangeFinPage, true)
End With
'enregistrer dans un nouveau document
'récupérer le nom du fichier
nomFichier = ConvertFromURL(oDoc.getURL)
nomFichier = Left(nomFichier, Len(nomFichier)-4)
'enregistrer
'exemple de nom du fichier de sortie : nomdufichier entrant_p9.odt
adresseDoc = "private:factory/swriter"
aCopier = ThisComponent.CurrentController.getTransferable()
oDoc = StarDesktop.loadComponentFromURL(adresseDoc, "_blank", 0, Array() )
curseurVisible = oDoc.currentController.viewCursor
oDoc.CurrentController.Select(curseurVisible)
oDoc.CurrentController.insertTransferable(aCopier)
adresseDoc = convertToURL( nomFichier & "_p" & numPage & ".odt")
oDoc.storeAsURL(adresseDoc, Array() )
oDoc.Close(True)
End Sub
'**************************
Il suffit de l'affecter à CTRL+ALT+V par exemple.
Il y a moyen de modifier la macro pour qu'elle corresponde à ton besoin spécifique, mais quel est-il précisément ?
Agnès S.