Liste des paramètres dans un modèle (Microsoft Word)
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]
.