vba - subrayado - ¿Cómo cambio el texto resaltado a un color diferente en MS Word?
como resaltar imagenes en word (4)
Pensé que se podía resaltar una sección del texto coloreado y luego elegir la opción "seleccionar texto con formato similar" en la opción de menú Seleccionar texto en la pestaña Inicio. Luego solo selecciona el color de texto requerido. Espero que esto funcione.
Tengo algunos archivos .doc simples que hice en Word 2007 donde cambié el color del texto y usé los resaltados para comparar algunos textos similares. Lo que me gustaría hacer es cambiar cualquier instancia de texto verde o resaltado gris a diferentes colores respectivos para cada uno.
Estoy seguro de que hay una manera simple de hacer esto con VBA, pero cualquier otro tipo de respuestas también son bienvenidas.
EDITAR: Si bien aprecio las respuestas, una que me permite guardar los archivos .doc como .docs es preferible.
Esto no es de 2007, pero la idea debería ser adecuada. Este ejemplo cambia cualquier resaltado actual al resaltado predeterminado nuevo (wdBrightGreen) y cualquier texto verde a rojo.
Sub ChangeColor
Options.DefaultHighlightColorIndex = wdBrightGreen
Selection.Find.ClearFormatting
Selection.Find.Highlight = True
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Highlight = True
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.ClearFormatting
Selection.Find.Font.Color = wdColorBrightGreen
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Color = wdColorRed
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Siempre puede guardar el archivo como HTML y reemplazar los colores allí. El color se representa con
<span style=''color:red''>...
y resaltar es
<span style=''background:yellow;mso-highlight:yellow''>...
Debe ser fácil de manipular si su documento es lo suficientemente simple.
Editar que responde a la edición en la pregunta: Una vez que haya terminado, vuelva a abrir el archivo y guarde el archivo como .doc.
Esto debería funcionar para su propósito:
Sub RehiliteAll()
Const YOUR_REQUIRED_COLOR_IDX As Integer = 6 ''RED''
Dim doc As Range
Set doc = ActiveDocument.Range
With doc.Find
.ClearFormatting ''resets default search options''
.Highlight = True
.Wrap = wdFindStop
While .Execute
If doc.HighlightColorIndex = YOUR_REQUIRED_COLOR_IDX Then
doc.Select
MsgBox doc.HighlightColorIndex
''Do stuff here''
End If
''doc has been reassigned to the matching''
''range; we do this so word keeps searching''
''forward''
doc.Collapse wdCollapseEnd
Wend
End With
Set doc = Nothing
End Sub
''I am closing comment quotes so that SO formatting''
''does not get messed up too much.''