Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


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.