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+unsubscribe@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
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.