Buscar y reemplazar texto o formato

Los objetos Find y Replacement exponen la búsqueda y la sustitución. El objeto Find está disponible a partir del objeto Selection y el objeto Range. La acción de buscar es ligeramente diferente dependiendo de si se obtiene acceso al objeto Find desde el objeto Selection o Range.

Buscar texto y reemplazarlo

Si se obtiene acceso al objeto Find desde el objeto Selection, la selección se cambiará cuando se cumplan los criterios de búsqueda. En este ejemplo, se selecciona la siguiente aparición de la palabra "Hello". Si se llega al final del documento antes de que se encuentre esta palabra, se detendrá la búsqueda.

With Selection.Find 
 .Forward = True 
 .Wrap = wdFindStop 
 .Text = "Hello" 
 .Execute 
End With

El objeto Find contiene propiedades relacionadas con las opciones del cuadro de diálogo Buscar y reemplazar. Pueden establecerse las propiedades individuales del objeto Find o utilizarse argumentos con el método Execute, como se muestra en el siguiente ejemplo.

Selection.Find.Execute FindText:="Hello", _ 
 Forward:=True, Wrap:=wdFindStop

Buscar texto sin cambiar la selección

Si se obtiene acceso al objeto Find a partir de un objeto Range, no se cambia la selección, sino que vuelve a definirse el objeto Range cuando se cumplen los criterios de búsqueda. En el siguiente ejemplo, se localiza la primera aparición de la palabra "blue" en el documento activo. Si la operación de búsqueda se realiza correctamente, se vuelve a definir el intervalo y se aplica formato de negrita a la palabra "azul".

With ActiveDocument.Content.Find 
 .Text = "blue" 
 .Forward = True 
 .Execute 
 If .Found = True Then .Parent.Bold = True 
End With

Con el siguiente ejemplo se obtiene el mismo resultado que en el ejemplo anterior, pero utilizando los argumentos del método Execute.

Set myRange = ActiveDocument.Content 
myRange.Find.Execute FindText:="blue", Forward:=True 
If myRange.Find.Found = True Then myRange.Bold = True

Uso del objeto Replacement

El objeto Replacement representa los criterios de reemplazo de una operación de búsqueda y reemplazo. Las propiedades y los métodos del objeto Replacement corresponden a las opciones del cuadro de diálogo Buscar y reemplazar (menú Edición).

El objeto Replacement está disponible a partir del objeto Find. En el siguiente ejemplo, se reemplazan todas las apariciones de la palabra "hi" por la palabra "hello". Cuando se cumplan los criterios de búsqueda, se cambiará la selección, ya que se obtiene acceso al objeto Find a partir del objeto Selection.

With Selection.Find 
 .ClearFormatting 
 .Text = "hi" 
 .Replacement.ClearFormatting 
 .Replacement.Text = "hello" 
 .Execute Replace:=wdReplaceAll, Forward:=True, _ 
 Wrap:=wdFindContinue 
End With

En el siguiente ejemplo, se quita el formato de negrita del documento activo. La propiedad Bold es True para el objeto Find y False para el objeto Replacement. Para buscar y reemplazar el formato, establezca la búsqueda y reemplace el texto en cadenas vacías ("") y establezca el argumento Format del método Execute en True. La selección permanece invariable, ya que se obtiene acceso al objeto Find a partir de un objeto Range; la propiedad Content devuelve un objeto Range.

With ActiveDocument.Content.Find 
 .ClearFormatting 
 .Font.Bold = True 
 With .Replacement 
 .ClearFormatting 
 .Font.Bold = False 
 End With 
 .Execute FindText:="", ReplaceWith:="", _ 
 Format:=True, Replace:=wdReplaceAll 
End With

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.