Encontrar estilos no utilizados (Microsoft Word)
La capacidad de crear y administrar estilos es una de las características sólidas de Word. Los estilos le permiten aplicar rápida y fácilmente un formato coherente en todo el documento y actualizar ese formato a medida que cambian sus necesidades.
Word proporciona bastantes estilos integrados (predefinidos), y puede agregar más según sus necesidades. En algún momento, es posible que desee determinar qué estilos no se utilizan en un documento. Esta lista podría usarse para determinar qué estilos podría eliminar fácilmente, simplemente porque ya no son necesarios.
No existe una forma intrínseca de crear una lista de estilos no utilizados en Word.
En su lugar, debe crear una macro para que haga el trabajo por usted. Podría pensar que crear una macro de este tipo sería una tarea sencilla de observar qué estilos cree Word que están en uso y luego compararlos con los estilos que están definidos. El problema con este enfoque es que la propiedad InUse de VBA (que se aplica a los objetos Style) se usa para varios propósitos. La definición oficial de la propiedad InUse es que es True si se cumple alguna de las dos condiciones siguientes:
-
El estilo es un estilo integrado que se ha modificado o aplicado en el documento.
-
El estilo es un estilo definido por el usuario que se ha creado en el documento.
Lo que eso significa es que la propiedad InUse no indica si un estilo está realmente en uso en el documento. Podría hacer algo en la definición de un estilo sin aplicarlo realmente, y ese estilo se marcaría como ‘en uso’ aunque no haya ningún texto en el documento que realmente use el estilo.
Sin embargo, es posible generar una lista de estilos que no están en uso usando las propiedades InBuilt e InUse en una macro. La siguiente macro de VBA utiliza este enfoque:
Sub CreateStyleList() Dim docThis As Document Dim styItem As Style Dim sBuiltIn(499) As String Dim iStyBICount As Integer Dim sUserDef(499) As String Dim iStyUDCount As Integer Dim sInUse(499) As String Dim iStyIUCount As Integer Dim iParCount As Integer Dim J As Integer, K As Integer Dim sParStyle As String Dim bInUse As Boolean ' Ref the active document Set docThis = ActiveDocument ' Collect all styles being used iStyIUCount = 0 iParCount = docThis.Paragraphs.Count iParOut = 0 For J = 1 To iParCount sParStyle = docThis.Paragraphs(J).Style For K = 1 To iStyIUCount If sParStyle = sInUse(K) Then Exit For Next K If K = iStyIUCount + 1 Then iStyIUCount = K sInUse(iStyIUCount) = sParStyle End If Next J iStyBICount = 0 iStyUDCount = 0 ' Check out styles that are "in use" For Each styItem In docThis.Styles 'see if in those being used bInUse = False For J = 1 To iStyIUCount If styItem.NameLocal = sInUse(J) Then bInUse = True Next J 'Add to those not in use If Not bInUse Then If styItem.BuiltIn Then iStyBICount = iStyBICount + 1 sBuiltIn(iStyBICount) = styItem.NameLocal Else iStyUDCount = iStyUDCount + 1 sUserDef(iStyUDCount) = styItem.NameLocal End If End If Next styItem 'Now create the output document Documents.Add Selection.TypeText "Styles In Use" Selection.TypeParagraph For J = 1 To iStyIUCount Selection.TypeText sInUse(J) Selection.TypeParagraph Next J Selection.TypeParagraph Selection.TypeParagraph Selection.TypeText "Built-in Styles Not In Use" Selection.TypeParagraph For J = 1 To iStyIUCount Selection.TypeText sBuiltIn(J) Selection.TypeParagraph Next J Selection.TypeParagraph Selection.TypeParagraph Selection.TypeText "User-defined Styles Not In Use" Selection.TypeParagraph For J = 1 To iStyIUCount Selection.TypeText sUserDef(J) Selection.TypeParagraph Next J Selection.TypeParagraph Selection.TypeParagraph End Sub
La macro examina primero todos los párrafos del documento para determinar los nombres de los estilos que se utilizan realmente en el documento. Esta información se almacena en la matriz sInUse. Luego, la macro comienza a revisar la lista que Word cree que están en uso; estos son los estilos que pertenecen a la colección de Estilos. Si el estilo no está en la matriz sInUse, entonces se agrega a la matriz sBuiltIn (para estilos integrados) o la matriz sUserDef (para estilos definidos por el usuario). Cuando se realizan las comparaciones, se crea un nuevo documento que enumera los resultados.
_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 (1488) se aplica a Microsoft Word 97, 2000, 2002 y 2003.