Les modèles de mon entreprise sont stockées sur un serveur. Nous avons changé de serveur et les documents basés sur ces modèles mettent un temps fou pour s'ouvrir.

Pour commencer, c'est une erreur de mettre les modèles sur un serveur. Sans doute plus simple à gérer pour les administrateurs, cela pose problème dans le cas où l'on change de serveur ! La solution la plus simple est sans aucun doute de donner au nouveau serveur le même nom que l'ancien.

Si cela n'est pas possible, on peut créer une macro. Cette macro modifiera le chemin du modèle du document actif, et couplée à la batchmacro d'anacoluthe, vous pourrez la faire tourner sur des répertoires entiers.

Cette macro n'est pas si simple car la propriété Path qui renvoie au chemin d'un document (ou d'un modèle) est en lecture seule. Il faut donc biaiser en passant par le résultat de la boîte de dialogue Modèle.

Dans cette macro, il faudra remplacer G:/mon_ancien_serveur par le nom de l'ancien serveur, et H:/mon nouveau_serveur par le nom du nouveau.

 

Sub serveur_modèle()
'macro écrite par m@rina
Dim ch_modèle As String
Dim Ancien_serveur As String, Nouveau_serveur As String
Dim modèle As Template
Dim d_modèle As Dialog
Dim nb_car

Ancien_serveur = "G:\mon_ancien_serveur"
Nouveau_serveur = "H:\mon_nouveau_serveur"
nb_car = Len(Ancien_serveur)

Set modèle = ActiveDocument.AttachedTemplate 'nom du modèle sans chemin
Set d_modèle = Dialogs(wdDialogToolsTemplates)
ch_modèle = d_modèle.Template 'nom du modèle avec chemin
If LCase(Left(ch_modèle, nb_car)) = LCase(Ancien_serveur) Then
ActiveDocument.AttachedTemplate = Nouveau_serveur & Mid(ch_modèle, nb_car + 1)
End If
End Sub

 

Conseils

Tester cette macro sur un ou deux documents. Lorsque vous êtes certains qu'elle fonctionne correctement, téléchargez la batchmacro, et appliquez cette macro à des répertoires entiers, en lançant la batchmacro. Le mode d'emploi est fourni.

 

 


 

Une autre solution serait de rediriger les documents vers un modèle local (ce serait peut être plus sage...). Dans ce cas, on peut créer une macro qui redirige vers le normal.dot(m). Dans ce cas, évidemment les documents ne pourront pas être mise à jour si les styles du modèle d'origine viennent à changer. C'est le seul risque. Pour un document "vivant", on pourra l'attacher manuellement à son modèle spécifique en local.

La macro ci-dessous permet donc d'attacher les documents au modèle normal.dot(m) local, supposant que le dossier Modèles (ou Templates) est bien défini en local :

 

Sub AutoOpen()
Dim normal As String
normal = Options.DefaultFilePath(wdUserTemplatesPath) & "\normal.dot" 'ou normal.dotm
With ActiveDocument
.UpdateStylesOnOpen = False
.AttachedTemplate = normal
End With
End Sub

 

Cette macro pourra bien entendu être lancée avec la batchmacro afin de l'appliquer à des séries de documents.

Si l'on souhaite qu'elle se mette en place à chaque fois qu'on ouvre un document existant, il faudra la nommer AutoOpen, et la laisser soit dans le normal.dot soit dans un document à charger en tant que complément.

 

 

Statistiques

Aujourd'hui465
Hier2316
Cette semaine13249
Total depuis 20049551789

14
visiteurs actuellement en ligne