Word Access Sauvegarde [Résolu]

Signaler
Messages postés
14
Date d'inscription
lundi 26 mai 2008
Statut
Membre
Dernière intervention
17 juillet 2008
-
Messages postés
14
Date d'inscription
lundi 26 mai 2008
Statut
Membre
Dernière intervention
17 juillet 2008
-
Hello à tous.

J'ai créé plusieurs formulaires Access qui, part des requêtes et plusieurs traitements, produisent des documents Word à partir de modèles. (En gros ca prend un document Word, ca change des zones et l'utilisateur doit modifier des zones défnies.)

Une fois que l'utilisateur a finit de modifier le document à sa convenance et qui l'a imprimé, il quitte Word. Mais le problème pour moi, c'est que je ne veux pas qu'il puisse l'enregistrer.

J'ai essayé ce code mais il ne fonctionne pas.

Private Sub Document_Close()
Application.DisplayAlerts = False
Application.DisplayAlerts = True
ActiveWindow.Close
Application.Quit
End Sub


Il n'arrive pas à fermer le document car une boite de dialogue est en cours. (la boite c'est : "voulez vous enregistrer")
Je voudrais ignorer cette boite de dialogue et fermer le document sans que l'utilisateur ait le choix de sauvegarder.
Je ne sais pas si c'est réalisable mais merci de vous pencher dessus si ça vous interresse! :)

(Sinon, j'ai eu une autre idée. Ce serait de faire une sorte de Modèle. Je prendrais un document word, le copierais et ferais des modifications dans la copie. Mais je preferais éviter cette méthode :s. Je pense aux problèmes de supression de la copie. )

En esperant avoir été clair !

Merci d'avoir lu et de vos réponses ^^' !

7 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
17
salut,

avec juste ThisDocument.Saved = True
ça devrait être suffisant (en gros tu dis à Word que ton doc vient d'être enregistré, même si ça n'est pas le cas)

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
14
Date d'inscription
lundi 26 mai 2008
Statut
Membre
Dernière intervention
17 juillet 2008

C'est exact, merci mortalino :)
Je ne le voyais pas comme ça, merci, une nouvelle façon de penser =)

Le code complet donne :
Private Sub Document_Close()
ThisDocument.Saved = True
End Sub
Messages postés
14
Date d'inscription
lundi 26 mai 2008
Statut
Membre
Dernière intervention
17 juillet 2008

Par ailleurs, est-il possible d'empêcher l'utilisateur de sauvegarder ? (Comme griser fichier-Enregistrer et Enregistrer sous).

Je viens d'enlever la combinaison Ctrl+S mais il me reste ça et je vois pas comment faire :s
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
17
pas à ma connaissance.
Avec Excel oui, mais pas Word.

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
14
Date d'inscription
lundi 26 mai 2008
Statut
Membre
Dernière intervention
17 juillet 2008

J'espere ne pas abuser de votre gentillesse mais j'ai un nouveau problème, ou plutôt une suite. En fait, j'ai plus d'une centaine de Doc Word et mettre "ThisDocument.Saved = True" sur chacun d'entre eux et un peu redondant
Existe-t-il une méthode pour le mettre par défault ?

J'ai cru entendre parler de Normal.dot mais je n'y connais strictement rien .. j'suis trop noob sur word :s

Ou peut être dois-je m'y prendre autrement?
J'ai essayé de le mettre dans le code vba d'access. Cela fonctionne "a moitié" car si je modifie rien dans le doc modifié par Access il ne me demande pas de sauvegarder or si j'y touche après, alors là, il va me le demander :s
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
17
Nop,

pas dans Normal.dot.

Pourquoi ?
Car si tu tombes sur un utilisateur comme moi, tu feras des mécontents
Perso, quand je crée un nouveau document ou classeur, bah je lance l'application, donc pour ici, Word, je vais taper mon texte, MAIS vu que je ne suis pas comme tout le monde, pour enregistrer, comment je fais ?
Bah je clique sur la croix de Word pour le fermer, et attends sa proposition d'enregistrer.

Ce qui fait que si tu mets ce code dans Normal.dot, le Saved = True s'appliquera à tous les doc.
Enfin, à toi de voir

Peut-être mettre ton fichier Word en lecture seule, tu le passes en mode écriture avant ouverture puis lecture seule après enregistremen

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
14
Date d'inscription
lundi 26 mai 2008
Statut
Membre
Dernière intervention
17 juillet 2008

Après avoir essayé plusieurs méthodes, je vais plutot copier le doc Word dans une sorte de repertoire temporaire et ouvrir ce fchier temporaire pour y faire les modifications. Je vais le remplacer a chaque fois.

Cela va améliorer la sécurité je pense.

Merci de ton aide mortalino!

A une prochaine :)