Bonjour
prog_amateur@hotmail.fr wrote
Je voudrais par macro, récupérer dans un document Writer, le texte
compris entre deux chaines de caractères définies.
Exemple : extraire tout le texte se trouvant entre les mots "début
d'explication" et "fin d'explication".
Ci-dessous un exemple : le principe est de rechercher la "balise" de
début, ce qui donne une position de départ pour rechercher la "balise"
de fin.
Ces deux positions obtenues on sélectionne (via le "curseur visible")
depuis la fin de la balise début jusqu'au début de la balise de fin...
...n'est pas Raymond Devos qui veut 
ChercherTexteEntreBalises.odt
<http://nabble.documentfoundation.org/file/n4102596/ChercherTexteEntreBalises.odt>
Cordialement
Pierre-Yves (ci-dessous le code)
sub PysChercheTexte
dim oDoc as object
dim oSearchZone as object
dim oTrouveZone as object
dim oTrouveApresZone as object
dim oCurseurVisible as object
oDoc = thiscomponent
oSearchZone = oDoc.createSearchDescriptor()
with oSearchZone
.SearchString = "début d'explication"
end with
oTrouveZone = oDoc.findFirst(oSearchZone)
if not(isnull(oTrouveZone)) then
with oSearchZone
.SearchString = "fin d'explication"
end with
oTrouveApresZone = oDoc.findNext(oTrouveZone.End, oSearchZone)
if not(isnull(oTrouveApresZone)) then
oCurseurVisible = oDoc.currentcontroller.viewCursor
oCurseurVisible.gotoRange(oTrouveZone.End, false)
oCurseurVisible.gotoRange(oTrouveApresZone.Start, True)
msgbox oCurseurVisible.string, 64, "Texte trouvé"
else
msgbox "balise de fin non trouvée", 64, "Recherche"
end if
else
msgbox "balise de début non trouvée", 64, "Recherche"
end if
end sub