• Accentuer les majuscules

  • PowerPoint et les fichiers MP3

  • La justification laisse de trop grands blancs entre les mots

  • Comment créer un bouton qui envoie le fichier en cours ?

  • Comment faire plusieurs références à une même note de bas de page ?

  • A quoi sert l'ancre qui s'affiche quelquefois dans la marge gauche ?

  • Bonjour les Quickparts, adieu les Insertions Auto !

  • Comment faire pour qu'une macro démarre toute seule ?

  • Comment générer du faux texte ?

 
 

Modification de serveur de modèles

 

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. On va compter le nombre de caractères du chemin de l'ancien serveur que l'on va remplacer par le chemin du nouveau serveur, et on ajoutera le nom du 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.
Il faudra compter le nombre de caractères total de l'ancien serveur (21 dans mon exemple), et ajouter 1 à la ligne suivante pour récupérer le nom du modèle avec le \ qui précède.

 

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

Ancien_serveur = "G:\mon_ancien_serveur"
Nouveau_serveur = "H:\mon_nouveau_serveur"

Set modèle = activedocument.AttachedTemplate
Set d_modèle = Dialogs(wdDialogToolsTemplates)
ch_modèle = d_modèle.Template
If LCase(Left(ch_modèle, 21)) = LCase(Ancien_serveur) Then
activedocument.AttachedTemplate = Nouveau_serveur & Mid(ch_modèle, 22)
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 à joiur 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 renommer AutoOpen, et la laisser soit dans le normal.dot soit dans un document à charger en tant que complément.

Attention cependant aux versions 2007/2010 qui n'ont pas, par défaut, de normal.dotm tant qu'aucune modification n'a été amenée par défaut. Dans ce cas, il faudra auparavant créer un normal.dotm.

 

 
 
 
 

Statistiques

3084954
Aujourd'hui246
Hier2057
Cette semaine11877
Ce mois-ci45057
Depuis janvier 20043084954
Compteur d'affichages des articles
6007115

A lire de toute urgence...

Qui est en ligne ?

Nous avons 36 invités et aucun membre en ligne