Le 27/09/06, Bernard Marcelly<[EMAIL PROTECTED]> a écrit :
Bonjour Manuel NAUDIN
Message du 2006-09-27 11:34:
> Bonjour,
> j'essaye de parcourir un document avec un Cursor pour constituer une liste
> des mots de ce document.
> Le problème que j'ai est qu'il semble que Cursor.gotoNextWord (et ses
> dérivés de navigation parmi les mots) ignore les mots composés avec un
> tiret.

Pareil avec un tiret insécable et certains signes non alphabétiques
(symbole de carte "Pique").
On peut seulement rajouter des caractères à considérer comme séparateur
(dans la propriété WordSeparator du document). Les tirets sont toujours
considérés comme séparateur, sauf le tiret conditionnel.
Mais comme tu avances mot par mot, tu récupères un demi-mot avec le
tiret à droite. Il n'y a plus qu'à faire un traitement particulier.

    Bernard


Bonsoir,
j'ai finalement obtenu un résultat de ce genre :

<basic>
Sub setDicoArray(oDocDico)
        'oDocDico est le document à analyser
      'tailleDico est initialisé ailleurs
        tailleDico = oDocDico.WordCount
      'dicoArray est un tableau de String initialisé ailleurs
        ReDim dicoArray(1 TO tailleDico)
        dicoCursor = oDocDico.Text.createTextCursor()
        dicoCursor.gotoStart(false)
        Dim i As Long
        FOR i = 1 TO tailleDico
                dicoCursor.gotoEndOfWord(true)
                dicoArray(i) = dicoCursor.String
                dicoCursor.collapseToEnd()
                dicoCursor.goRight(1,true)
                IF dicoCursor.String = "-" THEN
                        dicoCursor.gotoEndOfWord(true)
                        dicoArray(i) = dicoArray(i)&dicoCursor.String
                ELSE
                        dicoCursor.collapseToStart()
                END IF
                dicoCursor.gotoNextWord(false)
        NEXT i
        oDocDico.close(false)
End Sub
</basic>

ça fonctionne correctement mais :
- les tirets insécables ne sont pas détéctés. Je n'ai pas trouvé le
code de tiret insécable pour utiliser Chr() dans le test.
- il n'y a pas de test sur tailleDico pour ne pas dépasser la taille
maxi des tableaux.
- reste à redimensionner correctement dicoArray, mais ce soir je fais une pause.

Merci Bernard et Laurent,
Manuel
PS : le fait que les tirets sont considérés comme séparateurs de mots,
c'est censé évoluer un jour, ou ça va rester comme ça ?

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à