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?

¿Fue útil?

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top