Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] Word 2013 et mode protégé à désactiver

30 réponses
Avatar
HD
Bonjour,

J'ai une macro VBA qui modifie le texte d'un document word. Ce document
word est en lecture seule afin d'être ainsi certain que l'utilisateur
fera un enregistré sous pour préserver le document original.

Mon souci est que depuis Word 2010 le document en lecture seule passe en
mode protégé dès l'ouverture et il n'est alors possible de le déprotéger
que si l'utilisateur désactive le mode protégé...

Je voudrais pouvoir garder le document original en lecture seule tout en
mettant le document en mode "normal" (et non protégé) dès son ouverture.

Est il possible de le faire et si oui comment ?

Cordialement,

HD

10 réponses

1 2 3
Avatar
JièL
Hello,
Le 27/06/2016 à 12:20, HD a écrit :
Bonjour,
J'ai une macro VBA qui modifie le texte d'un document word. Ce document
word est en lecture seule afin d'être ainsi certain que l'utilisateur
fera un enregistré sous pour préserver le document original.

Juste une question/piste : pourquoi ne pas créer un modèle (.dotm) ?
Ce dernier ne sera pas modifié et dans la barre de titre apparaitra "nom
du modèle1" comme "document1" quand on créé un nouveau document.
--
JièL maux d'elle
Avatar
Geo
Bonjour
Si la proposition de jièl ne vous convient pas, faites-en nous part
pour creuser la piste vba.
Si elle vous convient, dites-le nous.
Avatar
HD
Bonjour,
En fait, le document en question est utilisé par de nombreuses
personnes. Et le fait de l'avoir dans un répertoire réseau en lecture
seule me permettait de ne pas avoir à l'installer sur tous les postes.
N'importe quel poste pouvant accèder au réseau pouvait alors utiliser le
document.
Le fait de le mettre en lecture seule permet d'éviter qu'une personne
n'enregistre par erreur ses données directement sur le fichier. En
enregistrant, automatiquement Word proposait un enregistré sous.
Cordialement,
HD
Avatar
Geo
Bonjour
En fait, le document en question est utilisé par de nombreuses personnes. Et
le fait de l'avoir dans un répertoire réseau en lecture seule me permettait
de ne pas avoir à l'installer sur tous les postes. N'importe quel poste
pouvant accèder au réseau pouvait alors utiliser le document.
Le fait de le mettre en lecture seule permet d'éviter qu'une personne
n'enregistre par erreur ses données directement sur le fichier. En
enregistrant, automatiquement Word proposait un enregistré sous.

La solution proposée par un modèle permet ça.
Même si on ne recommande pas de mettre des modèles sur les serveurs.
Donc si je comprends bien, il n'y a pas de vba dans ce document
actuellement.
Avatar
HB
Bonsoir,
S'il s'agit d'un document que les utilisateurs du réseau peuvent
consulter mais pas modifier, plutôt que de le mettre en "lecture seule",
il est préférable de modifier les informations de sécurité.
L'ouverture se passera normalement mais aucune modification ne sera
possible.
Perso je préconise la méthode suivante :
Les utilisateurs ont accès à plusieurs lecteurs réseau
( documents personnels (P: ) documents partagés
en écriture et "documents sources" ( mettons S: ) non modifiables
Le répertoire associé sur le serveur est certes partagé
pour avoir un mappage (par GPO ou par script)
mais les autorisations de sécurité sur le répertoire
ne permettent pas la modification du contenu.
Ainsi les "enregistrer" et autres "enregistrer sous..."
échouent si l'utilisateur ne choisit pas un autre chemin dans lequel il
a le droit d'écrire ...
La gestion des autorisations (ACL) est plus performante que les
attributs... traces d'un autre temps ;o)
Cordialement,
HB
Le 28/06/2016 à 15:34, HD a écrit :
Bonjour,
En fait, le document en question est utilisé par de nombreuses
personnes. Et le fait de l'avoir dans un répertoire réseau en lecture
seule me permettait de ne pas avoir à l'installer sur tous les postes.
N'importe quel poste pouvant accèder au réseau pouvait alors utiliser le
document.
Le fait de le mettre en lecture seule permet d'éviter qu'une personne
n'enregistre par erreur ses données directement sur le fichier. En
enregistrant, automatiquement Word proposait un enregistré sous.
Cordialement,
HD

---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
JièL
Re,
Le 28/06/2016 à 17:46, Geo a écrit :
Bonjour
En fait, le document en question est utilisé par de nombreuses
personnes. Et le fait de l'avoir dans un répertoire réseau en lecture
seule me permettait de ne pas avoir à l'installer sur tous les postes.
N'importe quel poste pouvant accèder au réseau pouvait alors utiliser
le document.
Le fait de le mettre en lecture seule permet d'éviter qu'une personne
n'enregistre par erreur ses données directement sur le fichier. En
enregistrant, automatiquement Word proposait un enregistré sous.

La solution proposée par un modèle permet ça.

Je confirme, et j'ajoute que si on fait un double clic sur un .dotm (ou
.dotx) depuis l'explorateur ça créé bien un nouveau document basé sur le
modèle et donc l'original n'est pas modifié.
Par contre, à partir de Word, Fichier/Ouvrir ouvre bien le modèle :-(
(ça n'était pas le cas avant, mais je ne sais pas avant quelle version)
Geo, y'aurait pas une clé de registre à modifier pour retrouver ce
comportement où il fallait appuyer sur Ctrl (ou Maj je sais plus) pour
ouvrir le modèle en faisant Fichier/Ouvrir ?
Même si on ne recommande pas de mettre des modèles sur les serveurs.

Bah pourquoi ?
Au contraire, moi j'aurais tendance à les mettres tous sur un endroit
centralisé.
--
JièL an scien
Avatar
Geo
Bonjour
Par contre, à partir de Word, Fichier/Ouvrir ouvre bien le modèle :-( (ça
n'était pas le cas avant, mais je ne sais pas avant quelle version)

Pas vérifié l'origine, mais je suppose que ça correspond à une demande
des utilisateurs, pour pouvoir ouvrir directement un modèle sans avoir
à trop chercher, comme tout document.
Sachant que pour faire un nouveau document basé sur un modèle se fait
par Fichier / Nouveau.
Geo, y'aurait pas une clé de registre à modifier pour retrouver ce
comportement où il fallait appuyer sur Ctrl (ou Maj je sais plus) pour ouvrir
le modèle en faisant Fichier/Ouvrir ?

On peut toujours jeter un coup d'oeil, sans trop d'illusions.
Même si on ne recommande pas de mettre des modèles sur les serveurs.

Bah pourquoi ?
Au contraire, moi j'aurais tendance à les mettres tous sur un endroit
centralisé.

Ah ! vieille histoire ! Il faudrait rechercher dans l'historique des
forums, ça marche très bien jusqu'au jour où le serveur est changé.
Il faut un temps fou pour ouvrir les documents concernés.
Tiens, regarde :
http://www.faqword.com/index.php/word/faq-word/gestion-des-macros/778
Avatar
HD
Donc si je comprends bien, il n'y a pas de vba dans ce document
actuellement.

Si, il y'a bien du VBA avec une macro qui devrait se lancer à
l'ouverture du document mais sur les nouveaux Word celle ci ne se lance
pas vu que le document est en lecture seule et qu'il faudrait autoriser
la modification manuellement... à moins qu'il soit possible de le faire
en VBA ? Mais j'en doute vu que c'est une protection.
@+
HD
Avatar
HD
La solution proposée par un modèle permet ça.

Je confirme, et j'ajoute que si on fait un double clic sur un .dotm
(ou .dotx) depuis l'explorateur ça créé bien un nouveau document basé
sur le modèle et donc l'original n'est pas modifié.

Effectivement, la solution du modèle docm fonctionne plutôt bien.
Par contre, autre souci, mon document s'ouvrait via une macro Excel qui
se trouve sur de nombreux postes et où le nom du fichier est clairement
référencé. Les fichiers Excel avec cette macro se trouve un peu partout
chez nous (nombreux postes et emplacements différents suivants les
postes). Du coup, je me suis dit, je vais utiliser un lien symbolique
pour que ma macro Excel fonctionne toujours et ouvre le docm via un lien
symbolique de mon fichier doc... sauf que lorsque je crée un tel lien
symbolique (via la commande mklink à partir du serveur) si je tente de
l'ouvrir sur un poste client j'ai le message : "le lien symbolique ne
peut pas être suivi par son type est désactivé"...
Auriez vous une astuce pour permettre au lien symbolique de fonctionner
sur un réseau local ?
Merci de votre aide,
@+
HD
Avatar
JièL
Le 29/06/2016 à 14:26, HD a écrit :
Si, il y'a bien du VBA avec une macro qui devrait se lancer à
l'ouverture du document mais sur les nouveaux Word celle ci ne se lance
pas vu que le document est en lecture seule et qu'il faudrait autoriser
la modification manuellement...

J'ai l'impression qu'il y a une petite erreur d'interprétation... Le
fait de mettre un doc en lecture seule ne verrouille pas l'exécution des
macros !!!
Par contre, si le document n'est pas sur un "Emplacement approuvé" là,
effectivement, ça empêche l’exécution des macros.
Essayez d'ajouter ce dossier dans Fichier, Options, Centre de gestion de
la confidentialité, Paramètres du centre..., ok, Emplacements approuvés.
Mais d'une manière comme d'une autre il va falloir agir sur chacun des
postes à moins de savoir utiliser les "stratégies de groupes", mais là
ça demande un Active Directory et des compétences de gestionnaire de réseau.
à moins qu'il soit possible de le faire
en VBA ?

ATTENTION : le VBA est fait pour faire ce que Word ne sait pas faire
et/ou pour automatiser certaines actions, mais ne rentrez pas dedans
avant d'avoir vérifier si Word ne fait pas ce que vous avez besoin
nativement (exemple les modèles)
--
JièL AMIS
Anti Macros Inutilement Superfétatoires
1 2 3