Compartir a través de


Propiedad FindReplace.FoundTextRange (Publisher)

Devuelve un objeto TextRange que representa el texto encontrado o el texto reemplazado de una operación de búsqueda. Solo lectura.

Sintaxis

expresión. FoundTextRange

expresión Variable que representa un objeto FindReplace .

Valor devuelto

TextRange

Observaciones

El objeto real de TextRange devuelto por la propiedad FoundTextRange se determina por el valor de la propiedad ReplaceScope. En la tabla siguiente se enumeran los valores correspondientes de estas propiedades (vea también la enumeración PbReplaceScope ).

When ReplaceScope = FoundTextRange =
pbReplaceScopeAll En blanco
pbReplaceScopeNone Buscar intervalo de texto
pbReplaceScopeOne Reemplazar intervalo de texto

Cuando se establece ReplaceScope en pbReplaceScopeAll, la propiedad FoundTextRange está vacía. Cualquier intento de acceder a él devuelve "Acceso denegado". La manera de manipular el intervalo de texto del texto buscado es establecer la propiedad ReplaceScope en pbReplaceScopeNone o pbReplaceScopeOne y acceder al intervalo de texto del texto buscado o reemplazado para cada aparición encontrada.

Ejemplo

Cuando se establece ReplaceScope en pbReplaceScopeNoneFoundTextRange devuelve el intervalo de texto del texto buscado. El ejemplo siguiente ilustra cómo de tener acceso a los atributos de fuente del intervalo de texto Buscar cuando se establece ReplaceScope en pbReplaceScopeNone.

With TextRange.Find 
 .Clear 
 .FindText = "important" 
 .ReplaceScope = pbReplaceScopeNone 
 Do While .Execute = True 
 'The FoundTextRange contains the word "important". 
 If .FoundTextRange.Font.Italic = msoFalse Then 
 .FoundTextRange.Font.Italic = msoTrue 
 End If 
 Loop 
End With

Cuando se establece ReplaceScope en pbReplaceScopeOne, se reemplaza el intervalo de texto del texto buscado. Por lo tanto, la propiedad FoundTextRange devuelve el intervalo de texto del texto de reemplazo. En el siguiente ejemplo se muestra cómo de tener acceso a los atributos de fuente del intervalo de texto reemplazado cuando se establece ReplaceScope en pbReplaceScopeOne.

With Document.Find 
 .Clear 
 .FindText = "important" 
 .ReplaceWithText = "urgent" 
 .ReplaceScope = pbReplaceScopeOne 
 Do While .Execute = True 
 'The FoundTextRange contains the word "urgent". 
 If .FoundTextRange.Font.Bold = msoFalse Then 
 .FoundTextRange.Font.Bold = msoTrue 
 End If 
 Loop 
End With

En este ejemplo se reemplaza cada ejemplo de la palabra "bizarre" por la palabra "strange" y se aplica formato de cursiva y negrita al texto reemplazado.

Dim objDocument As Document 
 
Set objDocument = ActiveDocument 
With objDocument.Find 
 .Clear 
 .FindText = "bizarre" 
 .ReplaceWithText = "strange" 
 .ReplaceScope = pbReplaceScopeOne 
 Do While .Execute = True 
 .FoundTextRange.Font.Italic = msoTrue 
 .FoundTextRange.Font.Bold = msoTrue 
 Loop 
End With

En este ejemplo se buscan todas las instancias de la palabra "important" y se les aplica formato de cursiva.

Dim objTextRange As TextRange 
 
Set objTextRange = ActiveDocument.Pages(1).Shapes(1).TextFrame.TextRange 
With objTextRange.Find 
 .Clear 
 .FindText = "important" 
 .ReplaceScope = pbReplaceScopeNone 
 Do While .Execute = True 
 .FoundTextRange.Font.Italic = msoTrue 
 Loop 
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.