J'ai un utilitaire de remplacement de portions de texte piloté par Excel, basiquement on fait un find.execute sur une portion de texte (une ancienne clause) et ensuite on remplace par une nouvelle portion de texte
Cette approche a des limitations, les possibilités offertes par les wildcards ou matchfuzzy est limité mais surtout on est limité à des portions de 255 caractères ce qui m'oblige a tronçonner mon texte dans tous les sens, avec des exceptions liés au chr(10) (pas pris en compte dans find.execute) ou bien tout ce qui est texte enrichi (adresse mail ou liens url)... bon j'ai réussi à bricoler fonctionnel un truc mais c'est une usine à gaz
j'ai introduit en partie l'usage des regexp pour obtenir un match et faire mon find.execute sur le match...
l'idéal ça serait de pouvoir venir directement modifier le range du doc en repérant mon match.firstindex
Le souci c'est que j'obtiens une valeur différente entre match.firstindex et objword.selection.start (à l'issue du find.execute sur le même match)
j'ai l'impression qu'il y a un écart lié en grande partie au sommaire, aux entêtes pied de page... enfin ce genre de trucs...
enfin je dis ça c'est très étrange car j'obtiens la même valeur que ce soit avec objdoc.characters.count ou bien len(objdoc.range.text) etc...
il y a que le objdoc.content.end qui semble être plus grand
mais ça me chafouine quand même parce que à l'issue du find.execute mon objdoc.selection.start correspond bien dans le range.text à l'emplacement à modifier, c'est juste que mon match.firstindex est pas au bon endroit...
Voilà si il y a une personne au taquet sur ce sujet je suis preneur de la soluce !! et sinon nan pis...
Merci !!
Partager