5 messages in org.openoffice.fr.progRe: [prog] Mot de passe bibliotheque
FromSent OnAttachments
Pascal ChantriauxMar 7, 2009 11:26 pm 
Laurent GodardMar 8, 2009 12:55 am 
Pascal ChantriauxMar 8, 2009 1:41 am 
Thibault VataireMar 12, 2009 6:51 am 
Pascal ChantriauxMar 12, 2009 3:35 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] Mot de passe bibliothequeActions...
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.