Listado de la configuración en una plantilla (Microsoft Word)
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]
.