IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

Toujours enregistrer le document en docm


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 24
    Points : 16
    Points
    16
    Par défaut Toujours enregistrer le document en docm
    Bonjour,

    Je dois publier des documents Word qui contiennent des macros sur un site SharePoint. Ces documents seront utilisés par toutes sortes d'usagers et j'aimerais mettre un code vba qui permettera de conserver le format "docm" du document à l'enregistrement. Si ce n'est pas possible, peux-t'on afficher un message lors de l'enregistrement pour mettre en garde les usagers de ne pas changer le format.

    Merci.

    Francine

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,


    Citation Envoyé par Francine222 Voir le message
    Bonjour,

    Je dois publier des documents Word qui contiennent des macros sur un site SharePoint. Ces documents seront utilisés par toutes sortes d'usagers et j'aimerais mettre un code vba qui permettera de conserver le format "docm" du document à l'enregistrement. Si ce n'est pas possible, peux-t'on afficher un message lors de l'enregistrement pour mettre en garde les usagers de ne pas changer le format.

    Merci.

    Francine
    À quelque part, avant de fermer le document:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim nomfichier as string
    Nomfichier = "machin.docm"
     ActiveDocument.SaveAs2 FileName:= Nomfichier ,  FileFormat:=wdFormatXMLDocumentMacroEnabled
    Dans l'aide de VBA, les constantes "FileFormat" et leurs valeurs numériques sont à:

    WdSaveFormat, énumération

    Les différentes options de saveas2 sont à:

    Document.SaveAs2, méthode
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    Je ne sais pas trop où mettre ce code, il faudrait qu'il apparaisse lorsque l'usager effectue "enregistrer sous". Et, est-ce que ce code fonctionne si le nom du document change?

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,


    Citation Envoyé par Francine222 Voir le message
    Je ne sais pas trop où mettre ce code, il faudrait qu'il apparaisse lorsque l'usager effectue "enregistrer sous". Et, est-ce que ce code fonctionne si le nom du document change?
    En fait, tu pourrais la mettre dans la procédure de l'événement Document_close.

    1) Tu cliques sur l'icône ThisDocument.
    2) Tu affiches Document dans la liste déroulante de gauche
    3) Tu choisis Close dans la liste déroulante de droite

    L'enregistrement se fait automatiquement

    Quant à afficher un message avant un enregistrement manuel par l'utilisateur; cela demande un peu plus de recherches, plus tard. À vrai dire, je ne suis pas trop sur de la suite...
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    J'ai fait le test et j'obtient un Run-time error '438' Object doesn't support this property or method.

    Mais le problème réside toujours, je dois les empêcher d'enregistrer le document en .docx, les usagers font un "save as" et change .docm en .docx malgré le message de MS Word qui dit que le document ne peut être enregistrer en format "macro-free document", mais ils le font tout de même.

  6. #6
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,


    Citation Envoyé par Francine222 Voir le message
    J'ai fait le test et j'obtient un Run-time error '438' Object doesn't support this property or method.

    Mais le problème réside toujours, je dois les empêcher d'enregistrer le document en .docx, les usagers font un "save as" et change .docm en .docx malgré le message de MS Word qui dit que le document ne peut être enregistrer en format "macro-free document", mais ils le font tout de même.
    À te lire, j'ai l'impression que c'est (ce sont) un (des) documents qui doit (doivent) "circuler" parmi un groupe de personnes, et chaque personne a besoin des macros pour "faire sa part d'ouvrage"; Est-ce bien cela ?

    Même si la nuit porte conseil, j'avoue ne pas trop savoir comment on pourrait empêcher quelqu'un de changer l'extension en chemin. Mon Word 2010, n'a pas l'air de supporter d'événement pour intercepter l'enregistrement. (À moins, peut-être, de faire un module de classe ad-hoc, mais là, c'est loin d'être ma spécialité.)

    Ce qui me semble le plus faisable, c'est de créer un complément (macro complémentaire dans "l'ancien temps"), ou un modèle spécifique avec les macros, qui contiendrait les macros et qui serait installé sur les machines des "clients". En quelque sorte, le document pourrait se promener avec ou sans les macros; tant et aussi longtemps que les utilisateurs auraient quand même les macros à portée de la main.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  7. #7
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    En gros oui, les documents sont déposés dans un site SharePoint et les gens les récupèrent pour ensuite les enregistrer soit sur un autre site sharePoint, soit sur un réseau local. Les macros doivent malheureusement suivre le document. Installer un complément sur les ordinateurs de tous les usagers n'est pas possible, environ 4000 à travers la planète. Je vais essayer un code qui force l'usager à faire une sauvegarde dès l'ouverture du document incluant des directives précises dans la boîte de dialogue.

  8. #8
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, si cela peut aider, voir via cette recherche.

  9. #9
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut
    Salut Francine222,

    Si tu pars sur une solution de "remplacement de commande standard par une macro" comme "Enregistrer Sous", n'oublie pas les barres d'outils, les les raccourcis clavier et les commandes annexes (même si ici la commande "Enregistrer" semble ne pas être impacté).

    @+

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/05/2015, 12h42
  2. Réponses: 4
    Dernier message: 26/09/2006, 11h42
  3. [DOM] Enregistrer un Document dom dans un fichier xml
    Par java_girl dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 09/09/2006, 20h38
  4. [DOM] [Axis] Enregistrement de document DOM
    Par ep31 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 01/02/2006, 11h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo