|
Publicité ' | ||||||||||||||||||||||
|
|
#1 | ||
|
Membre actif
![]() Guylaine C.Assistant aux utilisateurs Inscription : septembre 2009 Messages : 157 ![]() |
Bonjour,
J'ai créé la macro suivante qui s'active lors de l'ouverture d'un document (MonDoc). Cette macro est intégrée uniquement dans documents qui sont en mode "Lecture seule". Le but est d'empêcher l'utilisatrice d'effacer mon "modèle" par erreur donc à l'ouverture, une copie du document est créée avec Application.Documents.Add ActiveDocument.FullName. J'aurais pu créer de vrais modèles (.dotm) mais il y a des modèles qui sont fait pour être modifié à l'occasion par l'utilisateur donc ceux-là ne son ni en lecture seule, ni dotm. Et comme je ne voulais pas me retrouver avec des "modèles" à 2 répertoires différents avec 2 méthodes d'accès différentes, j'ai opté pour l'ajout d'une macro sur ouverture. Code :
Dans plusieurs des documents qui ont ces macros, il y a des champs avec des macros "Sur sortie". Mais elles ne fonctionnent pas étant donné que Application.Documents.Add ActiveDocument.FullName ne copie pas le répertoire "ThisDocument" de MonDoc. Avez-vous une solution de contournement? J'ai environ une vingtaine de document qui ont ce problème. Merci de votre aide! ![]() Souriane |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Bonjour,
Peut-être récupérer la propriété path du modèle de document. Je me suis permis d'initialiser une variable model pour identifier le document modèle, je trouve que cela est plus clair. De même, j'ai mis nouv pour identifier le nouveau document (possible si pas de construction en cascade). Code :
__________________
Cordialement, Christophe Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche |
||
|
|
00
|
|
|
#3 |
|
Membre actif
![]() Guylaine C.Assistant aux utilisateurs Inscription : septembre 2009 Messages : 157 ![]() |
Bonjour!
Je suis désolée! Je ne sais pas où j'avais la tête… Ce n'est pas "ThisDocument" qui disparaît (pourtant j'en étais sûre tout à l'heure!) Bref, c'est l'information dans le champ qui disparaît. Quand la macro ci-dessus a terminée, si je déverouille mon formulaire et que je vais voir les propriété de mon champ, sous "Exécuter la macro", "À la sortie", le nom de la macro n'y est plus. Pourtant si je retourne dans MonDoc initial, j'y vois encore "ThisDocument.MaMacro" Une idée de contournement? Merci pour ton temps! Souriane |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 321 ![]() |
Salut,
juste en passant, pourquoi ne pas créer une copie locale du document. Plus besoin de savoir si on le modifie ou pas. à l'ouverture du document. Et une macro qui sur fermeture de Word viderait le rep de destination pour ne pas garder la copie. Ou encore travailler sur les droits Windows du fichier et pas sur le répertoire.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com