Bonjour, je souhaite pouvoir nommer un fichier writer lors du premier l’enregistrement avec le premier mot de la page (ou un mot qui pourrait être sélectionné). Merci de votre aide
Bonjour @schotky
Ce que tu souhaites ne peut se faire a priori que par macro. Ce qui suit n’est à suivre que si tu connais suffisamment afin de ne pas risquer de perturber le fonctionnement normal de LibreOffice, et sous ta responsabilité.
Le principe est de copier la macro suivante dans le module Module1
de la bibliothèque Mes macros
de LibreOffice (et non dans un module de document) afin qu’elle soit accessible depuis n’importe quel nouveau document.
option explicit
sub PysSuggestName
Dim oDoc as Object
Dim oCursor As Object
dim document as object
dim dispatcher as object
oDoc = thiscomponent
oCursor = oDoc.CurrentController.ViewCursor
If oCursor.isCollapsed Then
oCursor = oDoc.Text.createTextCursor()
oCursor.gotoStart(false)
if oCursor.gotoNextWord(true) then
oDoc.title = oCursor.string
end if
else
oDoc.title = oCursor.string
end if
document = oDoc.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, Array())
end sub
Au lieu d’enregistrer “classiquement” le nouveau document il suffit d’appeler la macro. Cette dernière commence par vérifier si un texte est sélectionné.
- Si non (pas de sélection) c’est le premier mot du texte qui sera proposé.
- Si oui c’est ce texte qui sera proposé par défaut comme nom de document.
Il est possible d’affecter le lancement de la macro à un menu/barre d’outils via le menu Outils
▸Personnaliser
Cordialement
Merci beaucoup pour ta réponse. Cela fonctionne