Andy si chiede se esiste un modo per “elencare” le impostazioni in un modello (margini, caratteri, tabulazioni, ecc.). Ha visto molte informazioni sul ripristino delle impostazioni predefinite, ma nulla che gli dirà quali sono effettivamente le impostazioni. Osserva che aprire un modello e guardare i vari elementi è goffo e meno che esauriente.

Sfortunatamente, non esiste un modo semplice per farlo in Word. Il motivo principale è che non esiste un elenco completo delle impostazioni memorizzate nei modelli e il numero di tali impostazioni può essere piuttosto scoraggiante.

La cosa migliore che puoi fare è creare una macro che esaminerà le impostazioni che ti interessano e quindi visualizzarle.

Come esempio, considera la seguente suite di macro:

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 con cui inizi è TemplateSettings. Questa macro, a sua volta, chiama le altre funzioni nell’elenco. Cattura alcune delle impostazioni più comuni all’interno di un modello (puoi specificare il modello, ovviamente) e quindi visualizza tali impostazioni in una finestra di messaggio.

Nello specifico, visualizza il nome del modello, il formato della carta, l’orientamento della pagina, i margini, le tabulazioni (solo per il primo paragrafo del modello) e gli stili definiti dall’utente.

Ci sono ovviamente molte, molte altre impostazioni che potrebbero essere estratte e visualizzate. Ad esempio, potresti voler sapere quali sono le caratteristiche di ogni stile, piuttosto che solo un elenco di nomi di stili definiti dall’utente. Oppure potresti voler sapere in che modo la formattazione per gli stili incorporati differisce dalla formattazione predefinita. Solo queste opzioni da sole introdurrebbero un’enorme quantità di complessità alla macro.

(Considera che ogni stile può avere dozzine di impostazioni di formattazione diverse e la “formattazione predefinita” per gli stili incorporati è definita da ciò che è memorizzato nel modello Normal.) Per includere tali aggiunte, devi solo modificare la macro raccogliere e compilare le informazioni desiderate.

Si noti inoltre che la macro suite qui presentata è progettata per essere semplice, nonostante la sua lunghezza. Tutto ciò che fa è inserire tutte le impostazioni estratte in una stringa e quindi visualizzare quella stringa in una finestra di messaggio. Se il modello che stai guardando ha molti, molti stili definiti dall’utente, allora è possibile che la stringa diventi piuttosto lunga. Se finisce per diventare troppo lungo, riceverai un errore perché la funzione MsgBox può visualizzare solo un messaggio relativamente breve. Se prevedi che la tua stringa sarà più lunga, ti consigliamo di visualizzarla in “blocchi” in più finestre di messaggio, o semplicemente scrivere la stringa in un file di testo che potrai esaminare in seguito.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.

WordTips è la tua fonte di formazione economica su Microsoft Word.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (10118) si applica a Microsoft Word 2007, 2010, 2013 e 2016. Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Word qui: