Andy se pregunta si hay alguna forma de «enumerar» la configuración en una plantilla (márgenes, fuentes, tabulaciones, etc.). Ha visto mucha información sobre cómo restablecer los valores predeterminados, pero nada que le diga cuáles son realmente las configuraciones. Señala que abrir una plantilla y mirar los diversos elementos es torpe y poco exhaustivo.

Desafortunadamente, no hay una manera fácil de hacer esto en Word. La razón principal es porque no hay una lista completa de las configuraciones que se almacenan en las plantillas, y la gran cantidad de configuraciones de este tipo puede ser bastante abrumadora.

Lo mejor que puede hacer es crear una macro que examinará la configuración que le interesa y luego la mostrará.

Como ejemplo, considere el siguiente conjunto de macros:

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", "*.dot"

.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 principal con la que comienza es TemplateSettings. Esta macro, a su vez, llama a las otras funciones del listado. Toma algunas de las configuraciones más comunes dentro de una plantilla (puede especificar la plantilla, por supuesto) y luego muestra esas configuraciones en un cuadro de mensaje.

Específicamente, muestra el nombre de la plantilla, el tamaño del papel, la orientación de la página, los márgenes, las tabulaciones (solo para el primer párrafo de la plantilla) y los estilos definidos por el usuario.

Obviamente, hay muchas, muchas otras configuraciones que se pueden extraer y mostrar. Por ejemplo, es posible que desee saber cuáles son las características de cada estilo, en lugar de solo una lista de nombres de estilo definidos por el usuario. O quizás desee saber en qué se diferencia el formato de los estilos integrados del formato predeterminado. Solo estas opciones por sí solas introducirían una gran cantidad de complejidad en la macro.

(Tenga en cuenta que cada estilo puede tener docenas de configuraciones de formato diferentes y el «formato predeterminado» para los estilos integrados se define por lo que se almacena en la plantilla Normal). Para incluir tales adiciones, solo necesita modificar la macro para recopilar la información deseada.

Tenga en cuenta también que el conjunto de macros que se presenta aquí está diseñado para ser simple, a pesar de su longitud. Todo lo que hace es poner todas las configuraciones extraídas en una cadena y luego mostrar esa cadena en un cuadro de mensaje. Si la plantilla que está viendo tiene muchos, muchos estilos definidos por el usuario, entonces es posible que la cadena sea bastante larga. Si termina teniendo más de 1.024 caracteres, obtendrá un error porque la función MsgBox solo puede mostrar una cadena de esa longitud. Si anticipa que su cadena será más larga, querrá mostrarla en «fragmentos» en varios cuadros de mensaje, o simplemente escribir la cadena en un archivo de texto que luego podrá examinar.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios WordTips), he preparado una página especial que incluye información útil.

link: / wordribbon-WordTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

WordTips es su fuente de formación rentable en Microsoft Word.

(Microsoft Word es el software de procesamiento de texto más popular del mundo). Este consejo (10117) se aplica a Microsoft Word 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Word (Word 2007 y más tarde) aquí:

link: / wordribbon-Listing_the_Settings_in_a_Template [Listado de las configuraciones en una plantilla].