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


Bonsoir Ysabeau

-----Message d'origine-----
De : Ysabeau [mailto:id@dutailly.net]
Envoyé : vendredi 9 février 2018 15:29
À : users@fr.libreoffice.org
Objet : [fr-users] Un bouton pour ouvrir un fichier spécifique

Bonjour,

je voudrais pouvoir ajouter un bouton à toutes mes applications
LibreOffice qui ouvrirait un fichier spécifique.

Je n'ai pas trouvé ça dans Personnaliser. Est-ce que je n'ai pas bien
cherché, possible, où cela doit-il nécessiter une macro ou une extension ?

Dans le deuxième cas est-ce que ça serait une macro difficile à faire ?

Je précise que j'ai déjà l'extension Bookmark Menus, mais ce serait soit
en complément, soit à la place, soit...

Je ne suis pas sûr de bien comprendre le terme application, est-ce un même
fichier pour tous les cas (dans ce cas la macro ci-dessous convient) ou des
fichiers différents selon ...? (dans ce cas, la macro devra être adaptée
pour lire quelque part le chemin du fichier - ce n'est pas difficile, mais
faut savoir où enregistrer ces infos et selon quel critère choisir le bon
fichier).

(Testé sous Windows / LibO 5.4.4.2)

Si pb de recopie de la macro, j'enverrai demain un fichier avec la macro par
Nabble, pour l'instant, c'est l'heure de l'apéro ;-)

Bonne soirée,
Michel


REM  *****  BASIC  *****

'---------------------------------------------------------------------------
-------------
'Procédure pour rajouter la commande dans une barre d'outils:

'       copier cette macro dans "Mes macros et boîtes de dialogue"
'       renseigner le chemin et le nom du fichier

'       Outils > personnaliser > Barres d'outils > Ajouter une commande:
'       dans Catégorie (à la fin): Macros LibreOffice > Mes macros:
sélectionner cette macro
'---------------------------------------------------------------------------
-------------

Option Explicit

Sub ouvertureFichier

Dim propFich() As New com.sun.star.beans.PropertyValue
Dim cheminEtNom As String, URLfichier As String, docAouvrir As Object
Dim lesDocs As Object, leDoc As Object, adresseLeDoc As String, temOuvert As
Boolean

'1/ définition de l'URL du fichier à ouvrir

' le chemin peut être indifférement écrit ou format Windows ou URL
cheminEtNom = "D:\0- tests LibO\3- docs pour users\Conversion-audio3.odt"

URLfichier = ConvertToUrl(cheminEtNom)  'nécessaire si le chemin est au
format Windows (et sans incidence dans le cas contraire)

'2/ vérifier que le fichier n'est pas déjà ouvert (sinon on en ouvre un
2ième en lecture seule)

lesDocs = Stardesktop.Components.createEnumeration      'liste de tous les
fichiers ouverts (dans le conteneur Stardesktop)

temOuvert = False
Do while lesDocs.hasMoreElements
        leDoc = lesDocs.nextElement
        on error goto sansURL
        adresseLeDoc = leDOC.URL
        on error goto 0 
        If adresseLeDoc = URLfichier Then temOuvert = True
Loop

'3/ ouverture si pas déjà ouvert

If temOuvert Then
        MsgBox("Le ficher est déjà ouvert",  64)        
Else
        on error GoTo erreurFichier
        docAouvrir =
StarDesktop.LoadComponentFromURL(URLfichier,"_blank",0,propFich())
        on error goto 0         
End If

Exit Sub

'4/ traitement des erreurs:
 
sansURL:        'nécessaire car si l'aide est ouverte, c'est un élément qui
plante leDoc.URL - sans conséquence car s'il n'y a pas d'URL, ce n'est pas
un fichier qui nous interesse
        adresseLeDoc = ""       'élément sans URL
        Resume Next
        
erreurFichier:
        MsgBox("Une erreur est survenue dans l'ouverture du fichier", 16,
"ABANDON DE LA PROCEDURE")

End Sub


-- 
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à https://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.