Andy se demande s’il existe un moyen de «lister» les paramètres d’un modèle (marges, polices, taquets de tabulation, etc.). Il a vu beaucoup d’informations sur la réinitialisation aux valeurs par défaut, mais rien qui lui dira quels sont réellement les paramètres. Il note que l’ouverture d’un modèle et l’examen des différents éléments est maladroit et moins que complet.

Malheureusement, il n’y a pas de moyen facile de le faire dans Word. La raison principale est qu’il n’y a pas de liste complète des paramètres stockés dans les modèles, et le nombre de ces paramètres peut être assez décourageant.

Le mieux que vous puissiez faire est de créer une macro qui examinera les paramètres qui vous intéressent, puis les affichera.

À titre d’exemple, considérons la suite de macros suivante:

Sub TemplateSettings()

Dim templatePath As String     Dim fleName As String     Dim str As String     Dim sTemp As String

' Select the template to be opened     templatePath = Application.Templates(1).Path     fleName = GetTemplateName(templatePath)

If fleName = "" Then         MsgBox "No template selected"

Exit Sub     End If

Application.Documents.Open (fleName)



str = ActiveDocument.Name & vbCr & vbCr

sTemp = "Other"

Select Case ActiveDocument.Sections(1).PageSetup.PaperSize         Case wdPaperLetter             sTemp = "Letter"

Case wdPaperLegal             sTemp = "Legal"

Case wdPaperA4             sTemp = "A4"

End Select     str = str & "Paper size: " & sTemp

sTemp = "Landscape"

If ActiveDocument.Sections(1).PageSetup.Orientation = wdOrientPortrait Then         sTemp = "Portrait"

End If     str = str & "  Orientation: " & sTemp & vbCr

str = str & "Margins " & marginsStr & vbCr     str = str & vbCr & "User Defined Tab stops " & UserTabStops & vbCr     str = str & vbCr & "User defined styles " & userStyles

Application.Documents(fleName).Close SaveChanges:=wdDoNotSaveChanges

MsgBox str End Sub
Function GetTemplateName(templatePath As String) As String     Dim dlg As FileDialog     Set dlg = Application.FileDialog( _       FileDialogType:=msoFileDialogFilePicker)

With dlg         .AllowMultiSelect = False         .InitialFileName = templatePath         .Filters.Clear         .Filters.Add "Templates", ".dotx; .dotm"

.Filters.Add "All files", "."

.FilterIndex = 1         .Show         If .SelectedItems.Count > 0 Then             GetTemplateName = .SelectedItems(1)

Else             GetTemplateName = ""

End If     End With     Set dlg = Nothing End Function
Function userStyles() As String     Dim sty As Style     Dim s As String

s = ""

For Each sty In ActiveDocument.Styles         If Not sty.BuiltIn Then             s = vbCr & sty.NameLocal & "  " & sty.Description         End If     Next sty     userStyles = s End Function
Function UserTabStops() As String     Dim s As String     Dim tbStop As TabStop     Dim alg

alg = Array("Left", "Center", "Right", "Decimal", "Bar", "?", "List")

s = ""

For Each tbStop In ActiveDocument.Paragraphs(1).TabStops         s = s & vbCr & ptConvert(tbStop.Position) & _           " Alignment: " & alg(tbStop.Alignment)

Next tbStop     UserTabStops = s End Function
Function marginsStr() As String     With ActiveDocument         marginsStr = _           "Left: " & ptConvert(.PageSetup.LeftMargin) & _           ", Right: " & ptConvert(.PageSetup.RightMargin) & _           ", Top: " & ptConvert(.PageSetup.TopMargin) & _           ", Bottom: " & ptConvert(.PageSetup.BottomMargin)

End With End Function
Function ptConvert(p As Single) As String     ptConvert = Format(PointsToInches(p), "###.##")

' use the following line if you want dimensions in centimeters     'ptConvert = Format(PointsToCentimeters(p), "###.##")

End Function

La macro principale avec laquelle vous démarrez est TemplateSettings. Cette macro, à son tour, appelle les autres fonctions de la liste. Il saisit certains des paramètres les plus courants dans un modèle (vous pouvez spécifier le modèle, bien sûr), puis affiche ces paramètres dans une boîte de message.

Plus précisément, il affiche le nom du modèle, la taille du papier, l’orientation de la page, les marges, les taquets de tabulation (uniquement pour le premier paragraphe du modèle) et les styles définis par l’utilisateur.

Il existe évidemment de très nombreux autres paramètres qui peuvent être extraits et affichés. Par exemple, vous voudrez peut-être savoir quelles sont les caractéristiques de chaque style, plutôt qu’une simple liste de noms de styles définis par l’utilisateur. Ou vous voudrez peut-être savoir en quoi la mise en forme des styles intégrés diffère de la mise en forme par défaut. Ces options à elles seules introduiraient une énorme complexité dans la macro.

(Considérez que chaque style peut avoir des dizaines de paramètres de mise en forme différents et que la « mise en forme par défaut » pour les styles intégrés est définie par ce qui est stocké dans le modèle Normal.) Pour inclure ces ajouts, il vous suffit de modifier la macro pour recueillir et compiler les informations souhaitées.

Notez également que la suite de macros présentée ici est conçue pour être simple, malgré sa longueur. Tout ce qu’il fait est de mettre tous les paramètres extraits dans une chaîne, puis d’afficher cette chaîne dans une boîte de message. Si le modèle que vous regardez comporte de très nombreux styles définis par l’utilisateur, il est possible que la chaîne devienne assez longue. Si cela finit par devenir trop long, vous obtiendrez une erreur car la fonction MsgBox ne peut afficher qu’un message relativement court. Si vous prévoyez que votre chaîne sera plus longue, vous voudrez l’afficher en « morceaux » dans plusieurs boîtes de message, ou simplement écrire la chaîne dans un fichier texte que vous pourrez examiner ultérieurement.

_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 (10118) s’applique à Microsoft Word 2007, 2010, 2013 et 2016. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu de Word ici:

link: / word-Listing_the_Settings_in_a_Template [Liste des paramètres dans un modèle].