Bonsoir,
Le 14/10/2015 07:19, Jean-Francois Nifenecker a écrit :
comment peut-on lancer un dialogue interne de LibO par macro ?
Par exemple, je voudrais lancer l'éditeur de propriétés (accessible via
Fichier > Propriétés) depuis une macro.
Trouvé (comme souvent, dans l'excellentissime bible de Marcelly &
Godard) [encore une histoire de lunettes qu'on cherche quand on les a
sur les yeux...]
J'avais bien pensé au dispatcher et tenté l'enregistreur de macros mais
il n'enregistrait pas ce que je voulais... En fait, c'est bien par le
dispatcher qu'il faut passer mais en direct.
Le code est le suivant (testé sous LibO 5.0.1 officielle, Debian 8.1
Jessie, Cinnamon) :
8< -----------------------------------------------
Sub SetDocumentProperties()
'Call the LibO document properties dialog
Dim oWindow As Variant
Dim oDisplay As Object
Dim l_Args()
oWindow = StarDesktop.CurrentFrame
oDisplay = createUnoService("com.sun.star.frame.DispatchHelper")
oDisplay.executeDispatch(oWindow, ".uno:SetDocumentProperties", "", 0,
l_Args)
Set oDisplay = Nothing
End Sub 'SetDocumentProperties
----------------------------------------------- >8
Pour trouver la commande dispatcher kivabien (SetDocumentProperties),
yaka se plonger dans les arcanes de LibO, sous
/opt/libreoffice5.0/share/config/soffice.cfg/modules (ou équivalent sur
un autre OS que Linux). Ici, puisqu'il s'agit de l'interface générale de
LO, il faut chercher dans le sous-répertoire sglobal/menubar et lire le
fichier menubar.xml. Et ouala !
Encore merci à Bernard et à Laurent !
--
Jean-Francois Nifenecker, Bordeaux
--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous
désinscrire
Les archives de la liste sont disponibles à
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne
pourront pas être supprimés