Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1500 connectés 

  FORUM HardWare.fr
  Windows & Software
  Logiciels

  [Word] Faire une macro pour modifier le modele.dot ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Word] Faire une macro pour modifier le modele.dot ?

n°3038883
Ethan_cart​er
Posté le 17-05-2012 à 13:46:31  profilanswer
 

Bonjour,

 

Je dispose d'environ 5000 documents Word, dont le fichier modèle (modele1.dot) pointe sur un lien réseau \\ancienserveur qui n'existe plus (depuis options Word -> complément -> modèle -> atteindre).

 

L'ouverture des documents est donc assez longue; je souhaiterais modifier tous ces documents afin que ces fichiers cherchent désormais le modèle sur \\nouveauserveur

 

Je me suis donc rendu sur cette page
http://support.microsoft.com/kb/830561/fr

 

et suivi les instructions suivantes "Méthode 3 : création d'une macro Microsoft Visual Basic pour Applications (VBA) qui parcourt en boucle tous les documents dans un dossier et remplace l'ancien nom de serveur par le nouveau nom de serveur"

 

Je suis sur Office 2010.

 

J'ai ouvert un nouveau fichier (docm) , j'ai fait "développeur > Visual Basic > Code" et j'ai tapé cela :

 
Code :
  1. Sub Test()
  2.    Dim strFilePath As String
  3.    Dim strPath As String
  4.    Dim intCounter As Integer
  5.    Dim strFileName As String
  6.    Dim OldServer As String
  7.    Dim NewServer As String
  8.    Dim objDoc As Document
  9.    Dim objTemplate As Template
  10.    Dim dlgTemplate As Dialog
  11.    OldServer = "\\ancienserveur\modele1.dot"
  12.    NewServer = "\\nouveauserveur\modele1.dot"
  13.    strFilePath = InputBox("What is the folder location that you want to use?" )
  14.    If Right(strFilePath, 1) <> "\" Then strFilePath = strFilePath & "\"
  15.    strFileName = Dir(strFilePath & "*.doc" )
  16.       Do While strFileName <> ""
  17.          Set objDoc = Documents.Open(strFilePath & strFileName)
  18.          Set objTemplate = objDoc.AttachedTemplate
  19.          Set dlgTemplate = Dialogs(wdDialogToolsTemplates)
  20.          strPath = dlgTemplate.Template
  21.          If LCase(Left(strPath, 13)) = LCase(OldServer) Then
  22.             objDoc.AttachedTemplate = NewServer & Mid(strPath, 14)
  23.         End If
  24.          strFileName = Dir()
  25.          objDoc.Save
  26.          objDoc.Close
  27.       Loop
  28.    Set objDoc = Nothing
  29.    Set objTemplate = Nothing
  30.    Set dlgTemplate = Nothing
  31. End Sub
  32. Private Sub Document_New()
  33. End Sub
 

Puis je fais F5 pour exécuter. Cela fonctionne (la macro se lance) mais rien n'est modifié. Le lien vers le modele.dot demeure inchangé sur l'ensemble des documents (qui se sont pourtant tous ouverts les un après les autres)

 

Est-ce qu'il y a quelque chose de spécial à faire ?

 

En outre, est-il possible de modifier la macro (si j'arrive à la faire fonctionner) pour qu'elle modifie également le contenu des .doc dans les sous-répertoires ? En effet, en l'état, elle ne regarde que les .doc du répertoire principal.

 

Merci


Message édité par Ethan_carter le 17-05-2012 à 13:48:17
mood
Publicité
Posté le 17-05-2012 à 13:46:31  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Logiciels

  [Word] Faire une macro pour modifier le modele.dot ?

 

Sujets relatifs
Pagination WordCorrecteur d'orthographe Word 97 ne marche pas
Aide pour souligner sous WordWord a cessé de fonctionner
Word 2010Ecrire avec 2 Word différent
Word: Affichage Image sur sourisimpossible de chercher dans les dictionnaires dans WORD 2010
Fenêtre sur les macros à chaque fermeture de Word 2010Supprimer un saut de section sur word
Plus de sujets relatifs à : [Word] Faire une macro pour modifier le modele.dot ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR