texto subrayado resaltar resaltado quitar power los imagenes definicion como comentarios color cambiar vba word-vba highlighting word-2007

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.''