Encuentre una cadena en un documento y elimine todo después de él
Pregunta
Quiero encontrar una cadena en un documento de Word y eliminar todo lo que está después.
¿Cuál es la mejor manera de hacer esto sin usar el objeto Selection
?
Solución
Utilice un objeto Range
en su lugar. Directamente de la ayuda de Word 2003:
Si ha llegado al objeto Buscar desde el objeto Range, la selección no se cambia cuando el texto coincide con el se encuentra el criterio de búsqueda, pero el Rango El objeto se redefine. El seguimiento ejemplo localiza la primera ocurrencia de la palabra " azul " en el activo documento. Si & Quot; azul & Quot; se encuentra en el documento, myRange se redefine
Set myRange = ActiveDocument.Content
myRange.Find.Execute FindText:="blue", _
Forward:=True
If myRange.Find.Found = True Then
Ahora use el método SetRange
de ese objeto <=> para hacer que el inicio del rango sea el siguiente carácter después del final de la cadena que buscó y hacer que el final del rango sea el final del documento:
myRange.SetRange (myRange.End + 1), ActiveDocument.Content.End
(TODO: Tendrá que lidiar con el caso cuando su cadena es lo último en el documento)
Para eliminar el contenido:
myRange.Delete