Au fil des ans, la société de Phillip a développé des milliers et des milliers de documents Word. Ils ont récemment modifié leur infrastructure réseau pour utiliser différents serveurs et mettre à niveau des ordinateurs pour tout le monde dans le département de Phillip. Lorsqu’une personne ouvre l’un de ces documents préexistants, elle recherche un modèle qui existait dans l’ancienne infrastructure, mais qui n’est plus disponible. Cela signifie que le document prend beaucoup de temps à s’ouvrir, après quoi ils peuvent changer la mauvaise référence de modèle. Si Phillip doit ouvrir chacun des anciens documents, cela prendra des jours et des jours pour le faire, il se demande donc s’il existe un moyen de modifier les références de modèle plus efficacement, sans avoir à ouvrir chaque document.

Cela peut être un vrai problème – il y a peu de choses pires (au bureau)

que de regarder un écran d’ordinateur en attendant la fin d’un processus.

Ce qui se passe, c’est que Word pense que vos modèles se trouvent à un emplacement particulier et il demande à Windows d’aller chercher le modèle à cet emplacement.

Windows essaie consciencieusement (et essaie et essaie) de se conformer, à plusieurs reprises à la recherche de l’emplacement. Chaque tentative expire et le temps total consacré à cette vaine tentative est tout à fait perceptible.

Une solution serait d’utiliser une macro pour charger chaque document dans un répertoire et changer le modèle attaché à ce document. Voici un exemple d’une telle macro:

Sub BatchTemplateChange()

Dim sPathToTemplates As String     Dim sPathToDocs As String     Dim sDoc As String     Dim dDoc As Document     Dim sNewTemplate As String     Dim i As Long

On Error Resume Next     Application.ScreenUpdating = False

sNewTemplate = "normal.dot"         'new template name     sPathToDocs = Options.DefaultFilePath(wdDocumentsPath) & "\"

sPathToTemplates = Options.DefaultFilePath(wdUserTemplatesPath) & "\"



sDoc = Dir(sPathToDocs & "*.doc")



While Len(sDoc) <> 0         Set dDoc = Documents.Open(FileName:=sPathToDocs & sDoc)

dDoc.AttachedTemplate = sPathToTemplates & sNewTemplate         dDoc.Close wdSaveChanges         sDoc = Dir         i = i + 1     Wend

Application.ScreenUpdating = True     MsgBox "Finished: " & i & " documents changed"

End Sub

Notez que la macro charge chaque document à l’emplacement par défaut du document, mais cela n’accélère pas nécessairement le chargement. L’avantage de l’utilisation de la macro est que vous pouvez la démarrer et lui permettre de fonctionner lorsque vous êtes loin de l’ordinateur.

Des idées supplémentaires pour une approche programmatique peuvent être trouvées sur les sites suivants:

http://support.microsoft.com/kb/830561 http://www.edugeek.net/forums/scripts/35199-vba-script-change-word-document-template-location.html

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites WordTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / wordribbon-WordTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

WordTips est votre source pour une formation Microsoft Word rentable.

(Microsoft Word est le logiciel de traitement de texte le plus populaire au monde.) Cette astuce (11404) s’applique à Microsoft Word 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban de Word (Word 2007 et plus tard) ici:

link: / wordribbon-Updating_Many_Template_References [Mise à jour de nombreuses références de modèles].