

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
5 messages in org.openoffice.fr.progRe: [prog] Mot de passe bibliotheque| From | Sent On | Attachments |
|---|---|---|
| Pascal Chantriaux | Mar 7, 2009 11:26 pm | |
| Laurent Godard | Mar 8, 2009 12:55 am | |
| Pascal Chantriaux | Mar 8, 2009 1:41 am | |
| Thibault Vataire | Mar 12, 2009 6:51 am | |
| Pascal Chantriaux | Mar 12, 2009 3:35 pm |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: [prog] Mot de passe bibliotheque | Actions... |
|---|---|---|
| From: | Pascal Chantriaux (pasc...@ac-grenoble.fr) | |
| Date: | Mar 12, 2009 3:35:23 pm | |
| List: | org.openoffice.fr.prog | |
Bonjour,
Merci beaucoup de votre réponse. Votre macro fonctionne très bien, c'est bien ce que je cherchais. Je ne connaissais pas isLibraryPasswordProtected ni verifyLibraryPassword. Cela va mieux avec !
Je maintiens cependant que si on cherche à ouvrir la bibliothèque sans utiliser ces fonctions, donc sans donner le mot de passe, et qu'on tente de modifier le contenu d'un module, il n'y a pas de message d'erreur mais on n'a ensuite plus accès à la bibliothèque, le mot de passe est refusé (que ce soit via une macro ou via l'EDI). Et ce bien que, contrairement à ce que je pensais dans mon précédent message, on ait en fait pas accès au contenu des modules qui effectivement ne s'affiche pas (donc qui n'a pas pu être lu).
En tout cas sur mon système, si je copie votre macro telle quelle en enlevant simplement les 3 lignes if (libCont.isLibraryPasswordProtected(libName) = true) then libCont.verifyLibraryPassword(libName, passw) end if je n'ai aucun message d'erreur mais les macros du document traité ne sont plus accessibles.
En tout cas, encore merci!
Pascal
Thibault Vataire a écrit :
Bonjour,
Je n'arrive pas à reproduire votre problème :
1/ lorsqu'une de mes librairies est protégée par mot de passe, je n'arrive pas à
lire/modifier sont contenu avec une autre macro.
2/ lorsque j'ouvre cette librairie avec le mot de passe, je peux lire/modifier
le contenu et le sauvegarder. Cela n'empêche en rien d'accéder à son contenu par
la suite, que ce soit par macro ou par l'interface graphique.
Voici un exemple de la manière dont je procède :
option explicit
sub main
dim const passw = "password" dim const libName = "mdp" dim const modName = "Module1" dim doc as object dim libr as object dim libCont as object dim modContent as string
doc = starDesktop.loadComponentFromUrl( convertToUrl("/tmp/test_mdp.ods"), _ "_blank", _ com.sun.star.frame.FrameSearchFlag.CREATE, _ array()) libCont = doc.basicLibraries libCont.loadLibrary(libName) libr = libCont.getByName(libName)
'rien ne s'afficher à cause du mot de passe modContent = libr.getByName(modName) msgbox(modContent)
'affiche le contenu du module if (libCont.isLibraryPasswordProtected(libName) = true) then libCont.verifyLibraryPassword(libName, passw) end if modContent = libr.getByName(modName)
'modifie, met à jour le module et re-affiche le contenu
libr.replaceByName(modName, (modContent & chr(10) & "'commentaire ajouté au
module."))
modContent = libr.getByName(modName)
msgbox(modContent)
doc.store() doc.dispose()
end sub
Est-ce également de cette manière que vous modifiez le contenu de la macro? Peux-être n'ai-je pas bien compris votre problème?
Cordialement, T. Vataire
----- Mail Original -----
De: "Pascal Chantriaux" <pasc...@free.fr>
À: pr...@fr.openoffice.org
Envoyé: Dimanche 8 Mars 2009 08h26:39 GMT +01:00 Amsterdam / Berlin / Berne /
Rome / Stockholm / Vienne
Objet: [prog] Mot de passe bibliotheque
Bonjour,
J'ai écrit une macro qui, à partir d'un document calc A, ouvre un autre document calc B qui contenant une bibliothèque de macro M protégée par mot de passe pour éliminer les lignes de commentaire de M afin de réduire la taille du document B.
Je suis surpris qu'on puisse faire cela sans donner le mot de passe de la bibliothèque (je n'ai pas trouvé comment le faire et cela ne semble pas empêcher la macro d'agir)
Cette macro fonctionne bien comme j'ai pu le constater en la faisant tourner en laissant le document B ouvert par contre si elle sauve ensuite le document B, il n'y a plus moyen d'ouvrir la bibliothèque M, il refuse le mot de passe ainsi que le mot de passe vide.
Ce comportement est-il connu ?
D'avance, merci.
Pascal







