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.