Question

Je souhaite rechercher une chaîne dans un document Word et tout supprimer après.

Quel est le meilleur moyen de le faire sans utiliser l'objet Selection?

Était-ce utile?

La solution

Utilisez un objet Range à la place. Sortie immédiate de l’aide de Word 2003:

  

Si vous êtes arrivé à l'objet Rechercher   à partir de l'objet Range, la sélection   n'est pas changé lorsque le texte correspondant à la   trouver des critères est trouvé, mais la plage   l'objet est redéfini. Le suivant   exemple localise la première occurrence   du mot " blue " à l'actif   document. Si & Quot; bleu & Quot; se trouve dans le   document, myRange est redéfini

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

Utilisez maintenant la méthode SetRange de cet objet <=> pour que le début de la plage soit le prochain caractère après la fin de la chaîne recherchée et que la fin de la plage soit la fin du document:

myRange.SetRange (myRange.End + 1), ActiveDocument.Content.End

(TODO: Vous aurez besoin de traiter le cas lorsque votre chaîne est la dernière chose dans le document)

Pour supprimer le contenu:

myRange.Delete
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top