Buscar y reemplazar texto o formato
Los objetos Find y Replacement exponen la búsqueda y el reemplazo. 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 el ejemplo siguiente se selecciona la siguiente aparición de la palabra "Hola". Si se alcanza el final del documento antes de que se encuentre la palabra "Hola", se detiene 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 el texto buscar y reemplazar 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.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de