Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/01/2018, à 16:01

Hoxtro

Crée une boite de dialogue qui s'ouvre a l'ouverture d'un document

Bonjour,

Ma question est de savoir comment je fais pour crée une boite de dialogue qui s’afficherait lorsque j'ouvrirai un certain document LibreOffice Writer .

J'ai trouvée deux solutions :

- Soit je passe par les boites de dialogue qu'on peut crée sous LibreOffice mais le problème c'est qu'entre la configuration des boîte de dialogue ( Événement des boutons ), l’écriture du code du module qui correspond a la boite du dialogue et les macros je ne comprend pas grand chose,
si ce n'est que le module est je pense le code de la boite de dialogue, mais je ne sais pas quel code il faut écrire mais j'ai trouvée quelque liens bien que je ne suis pas sûr que se soit pour ce que je veux faire ( je mets en dessous des liens le code fournis comme solution sur les topics citée ) :

-https://www.developpez.net/forums/d481727/logiciels/logiciels-libres-open-source/bureautique/openoffice-libreoffice/macro-dialogue-d-ouverture-fichier/

function FileOpenDialog(title as String) as String
   dim filepicker, files
   filepicker = createUnoService("com.sun.star.ui.dialogs.FilePicker")
   filepicker.Title = title
   filepicker.execute()
   files = filepicker.getFiles()
   FileOpenDialog=files(0)
End function

-https://www.developpez.net/forums/d536147/logiciels/microsoft-office/excel/macros-vba-excel/boite-dialogue-l-ouverture-d-fichier-excel/

Sub Auto_Open()
    Msg = "Ceci est une information"    ' Définit le message.
    Style = vbOKOnly + vbInformation    ' Définit les boutons.
    Title = "Démonstration de MsgBox "    ' Définit le titre.
    ' Affiche le message.
    Response = MsgBox(Msg, Style, Title)
End Sub

-http://www.debugpoint.com/2015/01/working-with-dialog-controls-in-libreoffice-calc-using-macro-part-1/

Dim oDialog1 As Object

Sub StartDialog1()
    BasicLibraries.LoadLibrary("Tools")
    oDialog1 = LoadDialog("Standard", "Dialog1")
    oDialog1.Execute()
End Sub

Sub readDialog1()
    Dim cell_val
    oT1 = oDialog1.GetControl("TextField1")
    cell_val = ThisComponent.Sheets(0).getCellByPosition(0,0)
    msgbox cell_val.String & chr(13) & "Value from controls: "  & oT1.Text
End Sub

-https://forum.openoffice.org/fr/forum/viewtopic.php?f=8&t=42952

-https://www.pcreview.co.uk/threads/message-box-pop-up-before-open-document.820495/

-https://forum.openoffice.org/fr/forum/viewtopic.php?f=8&t=51827&p=280916

sub demarrage(event)
    docbase = thisdatabasedocument
    docbase.CurrentController.connect()
    docbase.FormDocuments.getByName("Formulaire accueil").open()
end sub

- Soit je crée une boite de dialogue via Zenity  mais là mon problème est que je comprend comment en ouvrir une, éventuellement comment en crée une :

-https://www.howtogeek.com/107537/how-to-make-simple-graphical-shell-scripts-with-zenity-on-linux/

    #!/bin/bash
    # This script asks the user for a time, waits the specified amount
    # of time, and shows an alert dialog.

    TIME=$(zenity –entry –title=”Timer” –text=”Enter a duration for the timer.\n\n Use 5s for 5 seconds, 10m for 10 minutes, or 2h for 2 hours.”)

    sleep $TIME

    zenity –info –title=”Timer Complete” –text=”The timer is over.\n\n It has been $TIME.”

Bon le problème est le même, je n'y comprend pas grand chose et surtout il n'est pas indiquée ( si déjà si le bon code pour ma boîte de dialogue, sachant que j'en veux une en info ) si je dois comment faire pour que cette boîte de dialogue se lance lorsque j'ouvre mon document .

Sachant que mon objectif c'est de m'afficher un rappel lorsque j'ouvrirai ce document .

PS: Pour être plus précis sur le code mon problème est que je ne sais pas lequel est bon, et si je dois le copier tel quel ou pas .

Voilà tout merci pour ceux qui auront pris la peine de lire, et bonne journée .

Dernière modification par Hoxtro (Le 02/01/2018, à 16:04)

Hors ligne

#2 Le 02/01/2018, à 19:11

erresse

Re : Crée une boite de dialogue qui s'ouvre a l'ouverture d'un document

Bonjour,

Tu pourrais peut-être préciser ce que doit faire cette boite de dialogue : afficher une information, poser une question et attendre une réponse... Selon le cas, il y a plusieurs solutions différentes.
Par ailleurs, tu dis "une boite qui s'ouvre à l'ouverture du document" :
- Est-ce dans Writer, lorsque tu ouvres le document que cette boite doit s'activer ? Si c'est le cas, la solution via zenity ne convient pas.
- Est-ce lorsque tu cliques sur le document pour qu'il soit ouvert avec Writer ? Dans ce cas, tu pourrais utiliser zenity qui gérerait la boite et appellerait ensuite Writer pour travailler sur le document.

Les possibilités sont diverses en fonction du résultat attendu, c'est à la fois la richesse et la difficulté du développement.
smile


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#3 Le 02/01/2018, à 19:34

Hoxtro

Re : Crée une boite de dialogue qui s'ouvre a l'ouverture d'un document

Bonsoir et merci de votre réponse,

Donc pour faire simple j'ai un document Writer qui existe sur mon bureau et je voudrais simplement que lorsque je l'ouvre en double-cliquant dessus une fenêtre apparaissent pour me rappeler un message que j'aurai définie, par exemple penser a faire ça si je fais ça ( je souhaite pouvoir définir le message qui sera dans cette fenêtre ), donc je voudrai que la boite de dialogue m'affiche une informations que je définirai .

Ensuite je pense que pour la deuxième question la solution qui me concerne est la deuxième , ouvrir le document qui de toute façon s'ouvrira automatiquement avec LibreOffice Writer puisque c'est un document que j'ai crée avec LibreOffice Writer .

Voilà tout .

Hors ligne

#4 Le 02/01/2018, à 20:17

erresse

Re : Crée une boite de dialogue qui s'ouvre a l'ouverture d'un document

Avec la solution de zenity (qui pourrait en effet s'appliquer à ton cas), j'ai précisé que le Writer devra être appelé après la gestion de la bote de dialogue, car pour que la boite apparaisse, il faudra prévoir dans "Ouvrir avec" que ton document s'ouvre avec le script contenant la boite zenity et non directement avec Writer (sinon, le script ne serait pas exécuté).
Exemple :
- Le document "toto.odt" doit s'ouvrir avec le script "boite.sh" (Option "Ouvrir avec...")
- Le script "boite.sh" affiche la boite de dialogue avec zenity et les paramètres que tu veux voir
- Une fois que la gestion de la boite de dialogue est terminée, le script appelle Writer "toto.odt" pour qu'il s'ouvre dans Writer
C'est quand même un peu complexe et contraignant...

Pourquoi ne pas utiliser les propriétés du document (soit dans "Propriétés" dans Writer, onglet "Description", après ouverture du document, soit "Note" attachée au document, que tu peux consulter par clic droit et "Propriétés -> Notes" avant d'ouvrir le document) ?
C'est sans doute moins automatique, mais ça ne modifie rien dans la gestion de tes documents et les informations peuvent être facilement différentes pour chaque document.


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#5 Le 02/01/2018, à 22:04

Hoxtro

Re : Crée une boite de dialogue qui s'ouvre a l'ouverture d'un document

Alors effectivement votre solution semble intéressante mais comment je fais tout ça S.V.P ? j'avais vu je hier qu'il y avait des script Zenity déjà tout prêt ou finalement il me faudrait juste rajouter le fait qu'il ouvre mon document, aussi est ce que j'aurai besoin "d'ouvrir avec" a chaque fois ou pas ?

Pour répondre a votre deuxième question, parce que le message que je veux afficher dans la fenêtre dois me rappeler quelque chose a chaque fois que je vais ouvrir le document et donc le marquer dans la description serait contre productif, d’autant plus qu'il me faudrait me rappeler a chaque fois d'aller voir la description pour voir ce dont je dois me rappeler et donc a faire autant le marquer en gros dans le document ( ce que je ne peux pas faire ) .

Ps: Est ce que la solution nécessite d'ouvrir d'abord le script pour pouvoir ensuite ouvrir le document ? ou alors est ce que quand je vais ouvrir le document ça va dabord ouvrir le script qui a son tour ouvrir le document ?

Dernière modification par Hoxtro (Le 02/01/2018, à 22:25)

Hors ligne

#6 Le 03/01/2018, à 09:01

JBF

Re : Crée une boite de dialogue qui s'ouvre a l'ouverture d'un document

Si tu essayais, ça t'aiderait à comprendre comment ça marche.


LibreOffice : https://fr.libreoffice.org/ (téléchargement, documentation, FAQ, assistance, contribuer, ...)
Aide pour LibreOffice par la communauté francophone : https://ask.libreoffice.org/fr/

Hors ligne

#7 Le 03/01/2018, à 09:36

ar barzh paour

Re : Crée une boite de dialogue qui s'ouvre a l'ouverture d'un document

déjà le code du bash de ton post 1 comporte de multiples erreurs (-- et guillemets) celui-ci est correct

#!/bin/bash
    # This script asks the user for a time, waits the specified amount
    # of time, and shows an alert dialog.
    TIME=$(zenity --entry --title=”Timer” --text="Enter a duration for the timer.\n\n Use 5s for 5 seconds, 10m for 10 minutes, or 2h for 2 hours.")
    sleep $TIME
    zenity --info --title="Timer Complete" --text="The timer is over.\n\n It has been $TIME."

dans un premier temps pour l'essayer , il faut
copier ce texte dans ton éditeur
sauvegarder ce texte dans ton répertoire personnel
tu l'appelles par exemple zenit1

deux solutions pour voir le résultat
1-
ouvre un terminal et tapes bash ./zenit1
répondre 5 ou 5s (ne réponds pas 2h tu n'aurais la réponse que dans deux heures!!)
2-
a-rendre exécutable de code (dans nautilus , clic droit sur le fichier , propriétés , permissions cocher Autoriser fermer la boite
b-dans nautilus double-clic sur le le fichier zenit1


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#8 Le 03/01/2018, à 10:23

ar barzh paour

Re : Crée une boite de dialogue qui s'ouvre a l'ouverture d'un document

pour info le bash (un peu minimum) ci-dessus est fait pour
-attendre un certain temps  : c'est ce que fait sleep
suivant le désir de l'utilisateur : c'est ce que fait la partie zenity --entry etc
-afficher une boite d'info : c'est ce que fait zenity --info
les boites zenity ici attendent une réponse (valider ou annuler)

pour ouvrir le fichier essai.odt se trouvant dans ton répertoire personnel avec writer il faudrait ajouter après la dernière ligne un ligne du style ( attention je ne connais pas trop cette syntaxe )

/usr/lib/libreoffice/program/soffice.bin --writer file://$HOME/essai.odt

mais ce n'est sans doute pas la meilleure façon de faire (voir post #4 de eresse)
ce qui donnerait

#!/bin/bash
    # This script asks the user for a time, waits the specified amount
    # of time, and shows an alert dialog.
    TIME=$(zenity --entry --title=”Timer” --text="Enter a duration for the timer.\n\n Use 5s for 5 seconds, 10m for 10 minutes, or 2h for 2 hours.")
    sleep $TIME
    zenity --info --title="Timer Complete" --text="The timer is over.\n\n It has been $TIME."
    /usr/lib/libreoffice/program/soffice.bin --writer file://$HOME/essai.odt

et comme dit JBF en post 6 , il faut essayer

Dernière modification par ar barzh paour (Le 03/01/2018, à 10:24)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#9 Le 03/01/2018, à 13:23

erresse

Re : Crée une boite de dialogue qui s'ouvre a l'ouverture d'un document

Hoxtro a écrit :

Alors effectivement votre solution semble intéressante mais comment je fais tout ça S.V.P ? j'avais vu je hier qu'il y avait des script Zenity déjà tout prêt ou finalement il me faudrait juste rajouter le fait qu'il ouvre mon document, aussi est ce que j'aurai besoin "d'ouvrir avec" a chaque fois ou pas ?
---------------------------------------------
Ps: Est ce que la solution nécessite d'ouvrir d'abord le script pour pouvoir ensuite ouvrir le document ? ou alors est ce que quand je vais ouvrir le document ça va dabord ouvrir le script qui a son tour ouvrir le document ?

Alors, oui, la solution nécessite d'ouvrir d'abord le script qui appellera lui-même Writer pour ouvrir le document.
Et oui aussi, il faudra en passer par "Ouvrir avec" à chaque fois, faute de quoi tous les documents devraient d'abord ouvrir le script avant d'être ouverts dans Writer. Lorsque tu indiques une application à lancer pour ouvrir un type de fichiers, tous les fichiers de ce type lanceront la même application si tu double-cliques dessus pour l'ouvrir...
Enfin, dernière contrainte (c'est pourquoi je te disais que c'était contraignant) : si tu veux adopter ce fonctionnement pour plusieurs fichiers, il faudra que le script sache émettre un message d'information approprié à chaque fichier, donc "reconnaître" le fichier que tu veux ouvrir.


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#10 Le 03/01/2018, à 15:08

ar barzh paour

Re : Crée une boite de dialogue qui s'ouvre a l'ouverture d'un document

eresse a écrit :

Enfin, dernière contrainte (c'est pourquoi je te disais que c'était contraignant) : si tu veux adopter ce fonctionnement pour plusieurs fichiers, il faudra que le script sache émettre un message d'information approprié à chaque fichier, donc "reconnaître" le fichier que tu veux ouvrir.

zenity fait bien ça , évidemment il faut commencer à coder un peu
et attention encore une fois je ne dis pas que c'est la meilleure solution
mais autant j'avais accroché aux macros de visual basic , autant les macros de libreoffice m'ont rebuté

#!/bin/bash
fichier_source=""
titre="$0               Sélectionnez le fichier write à ouvrir"
fichier_source=`zenity --file-selection --title="$titre" --file-filter="*odt"`
case $? in	#$? est le code de retour de zenity
 	0)	choix="$fichier_source"						            ;;
	1)	echo "Aucun fichier sélectionné."	; exit 1	;;
	-1)	echo "Une erreur inattendue est survenue." 		; exit 1	;;	
	*)	echo "erreur non reconnue" 						; exit 1	;;	
esac
    choix="file://$choix"
    /usr/lib/libreoffice/program/soffice.bin --writer "$choix"

Dernière modification par ar barzh paour (Le 03/01/2018, à 15:24)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#11 Le 05/01/2018, à 23:54

Hoxtro

Re : Crée une boite de dialogue qui s'ouvre a l'ouverture d'un document

Bonsoir / Bonjour,

Merci des vos réponses, alors pour te répondre JBF, je ne suis pas venu demandée de l'aide ici sans avoir essayer par moi même de résoudre mon problème et j'a bien entendue essayer de faire ce qu'on m'a conseiller, il n'y pas besoin de m'envoyer chier, j'ai bien précisé dans mon premier post que je ne connaissais rien à la programmation, si je dit a un mec d'essayer de montée un ordinateur a l'aide d'un schéma, bah si on ne lui a pas appris a lire un schéma il va mettre un long moment, alors il finira peut être par y arriver mais a quoi bon demandée de l'aide ? je me doute que pour y arriver je dois y mettre du mien et je compte pas non plus qu'on me fasse tout le boulot  mais je ne peux pas faire tout tout seul vu que je ne maîtrise pas assez ce domaine là .

Ensuite pour vous répondre Erresse et Ar barzh paour,

J'ai citée des posts d'autre forums qui effectivement n’étais pas ceux appropriée a ma situation, j'aurai du éventuellement citée le bash de Zenity --info car c'est celui-ci qui m’intéresse .

De toute façon après avoir lu vos réponses je constate qu'on ne peut donc pas faire ce que je souhaite faire simplement, ce que je voulais c'est que quand j'ouvre mon fichier Writer en double cliquant dessus, une fenêtre s'ouvre pour me rappeler quelque chose, ( après qu'elle s’ouvre avant ou pendant ça m'est égal ) mais étant donnée la complexité de la solution que vous m’apporter, en tout cas en passant par Zenity, je pense pas que ça vaille le coup puisque bon ça va un peu a l'encontre de mon objectifs parce que si je dois "ouvrir avec" a chaque fois mon document avec un bash pour qu'il m'affiche une fenêtre dans la quel il me rappelle ce que je lui est demandée de me rappelée, et bien ce n'est vraiment rentable .

Après j'avais parler de Zenity parce qu'il permet tout comme libre office de crée une boite de dialogue mais j'avais cru comprendre sur ces posts là :

https://www.developpez.net/forums/d4817 … e-fichier/

https://www.developpez.net/forums/d5361 … ier-excel/

https://www.developpez.net/forums/d1475 … e-nonnees/

https://forum.openoffice.org/fr/forum/v … =8&t=42952

https://www.pcreview.co.uk/threads/mess … nt.820495/

https://www.extendoffice.com/documents/ … -open.html

https://forum.openoffice.org/fr/forum/v … 7&p=280916


Qu'il était possible de mettre en place ce que je voulais, sachant que si j'ai bien compris lorsque je crée une nouvelle boite de dialogue ( Outils -> Macro -> Gérer les boîte de dialogue ), je donne un nom a cette nouvelle boîte de dialogue, puis je clique sur éditer, j'arrive donc sur une page dans la quel il y a une boite de dialogue vide qu'il  faut éditer ( rajouter des bouton, mettre le texte qu'on souhaite qui apparaissent dans la boîte de dialogue ) ensuite quand on a fait ça il faut aller cliquer sur l'onglet inférieur gauche nommée "module" dans lequel on dois écrire le code de la boite de dialogue .

Et c'est là que j'ai du mal car je ne suis pas sûr de ce que je dois écrire comme code, tout ce que je dis là ( la procédure) je le tire  de ce tutoriel :

http://www.debugpoint.com/2015/01/worki … ro-part-1/

Dans ce tutoriel il y a bien un code qu'il faudrait donc copier dans le module ( qu'il appelle Macro ? ) :

Dim oDialog1 As Object

Sub StartDialog1()
    BasicLibraries.LoadLibrary("Tools")
    oDialog1 = LoadDialog("Standard", "Dialog1")
    oDialog1.Execute()
End Sub

Sub readDialog1()
    Dim cell_val
    oT1 = oDialog1.GetControl("TextField1")
    cell_val = ThisComponent.Sheets(0).getCellByPosition(0,0)
    msgbox cell_val.String & chr(13) & "Value from controls: "  & oT1.Text
End Sub


Mais le problème c'est qu'il ne correspond pas entièrement a ce que je souhaite faire, si j'ai bien compris ( car il est en anglais ), et donc ma question c'est qu'est que je dois modifier de ce code pour qu'il affiche ma fenêtre sachant que depuis j'ai fais des recherches ( voir les liens plus haut ) et j'ai postée sur d'autre forums et si j'ai bien compris une fois que j'ai écris le code du module pour que la boîte de dialogue s'ouvre quand j'ouvre mon document je n'ai pas besoin de rajouter de code mais seulement de lier une macro :

Il me faut aller dans Outils -> Macro -> Gérer les macro -> LibreOffice Basic et la je dois assigner a mon module la macro "chargement du document terminée " comme ça lorsque j'ouvre mon document ma boite de dialogue s'affiche .

Je pense ' ( a confirmer ) qu'il faudra rajouter dans ce code le fait que la boite de dialogue dois se lancer qu'une seule fois .

Bon après j'ai cru comprendre que les boîtes de dialogue de LibreOffice n’étais pas ce que vous préfériez .

En tout cas merci de votre aide, bonne soirée / journée, et désolé de ne répondre que maintenant .

Hors ligne

#12 Le 16/01/2018, à 18:59

Dude

Re : Crée une boite de dialogue qui s'ouvre a l'ouverture d'un document

Hoxtro a écrit :

quand j'ouvre mon fichier Writer en double cliquant dessus, une fenêtre s'ouvre pour me rappeler quelque chose,

Dans ta macro, tu fais un simple appel msgbox et tu la relies à l’événement "Ouvrir un document".

Hors ligne

#13 Le 16/01/2018, à 20:10

ar barzh paour

Re : Crée une boite de dialogue qui s'ouvre a l'ouverture d'un document

je pense que la solution que tu cherches est donnée par Dude
comme je l'ai dit plus haut , en Visual basic je savais faire
avec Libre Ofiice je ne sais plus faire quelques années ont passées ....
@ Dude , cela te semble simple
il y  peut-être un mini tuto très simple quelquepart pour réaliser ce que tu donnes comme solution

Dernière modification par ar barzh paour (Le 16/01/2018, à 20:10)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#14 Le 17/01/2018, à 19:12

ar barzh paour

Re : Crée une boite de dialogue qui s'ouvre a l'ouverture d'un document

ayant eu un peu de temps , j'ai recherché et trouvé  , ce n'est pas simple simple mais c'est le plus efficace d'après ce que j'ai compris que tu veux faire
j'ai suivi pas à pas ce tuto :
https://wiki.documentfoundation.org/ima … Macros.pdf

ce qui suit ne fait que reproduire ce qu'il y a dans le tuto

j'ai utilisé libre office Calc , mais ce doit être identique avec writer

exemple de macro

Sub MacroBonjour
MsgBox "Bonjour !"
End Sub

dans le menu principal de libre office
Outils > Macros > Gérer les macros > LibreOffice Basic >
Cliquer sur Gérer
Cliquer sur l'Onglet Bibliothèques
Mes macros et boîte de dialogue
Nouveau
saisir le nom de la nouvelle bibliothèque : BibTest OK
Cliquer sur l'Onglet Modules sélectionner BibTest
Cliquer sur Module1 puis sur l'onglet Editer

Ajouter le texte de la macro en fin
Compiler en cliquant sur l'icône "Compiler" ( il faut la chercher pour moi c'est un petit carré avec une croix)

je clique sur la ligne sub MacroBonjour puis sur F5 : la macro s'exécute , ouvre une boite "Bonjour"

Maintenant il faut associer cette macro à l'évènement Ouverture du document
fermer la boite macro

dans le menu de Libre Office
Outils / Personnaliser / Événements
choisir Ouvrir le document
à droite Assigner Macro
il faut aller rechercher dans la fenêtre de gauche (Bibliothèque) la Macro adéquate :
cliquer
sur la fléche à gauche de  Mes Macros
sur le flèche à gauche de BibTest
Cliquer sur Module1
ce qui ouvre à droite les macro contenues dans ce Module
je choisis MacroBonjour puis OK
à nouveau OK en bas
je pense que c'est tout
j'enregistre mon document libre office et je le ferme
quand je double-clic sur mon document , il s'ouvre et une fenêtre "Bonjour" me fait un clin d'oeil en me disant bonjour

Dernière modification par ar barzh paour (Le 17/01/2018, à 19:13)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne