Sélection d'un mot dans word via vb6

Résolu
strangepepyte Messages postés 3 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 17 mars 2009 - 16 mars 2009 à 09:16
strangepepyte Messages postés 3 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 17 mars 2009 - 17 mars 2009 à 09:51
Bonjour à tous.
Voila j'ai un petit problème. Je vais essayé d'être claire.
Je fais une application avec vb6 pour parcourir un document Word, et le but est de sélectionner un texte qui vient après chaque "dbo."

Exemple :

"dbo.acteur", je voudrais récupérer seulement "acteur" et le mettre dans une variable dans vb.

P.S : il y a beaucoup de "dbo.*"

merci de vos réponse

4 réponses

cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 1
16 mars 2009 à 11:17
bonjour


en VB6 ce doit pas être bien différent du VBA dans Word


Rechercher un mot avec FInd.Text="<?" on trouvera le mot dbo. puis on se déplacera d'un mot pour trouver le mot qui suit (soit * dans ton expression dbo.*)

J'ai recopier un morceau de code manuellement attention fautes de frappes possibles et oublis à( à suivre)


Selection.Find.ClearFormatting
With Selection.Find
   .Text="<?"
  .Replacement.Text=""
 .Forward=True
 .Wrap=wdFindStop
  .Format=False
 .MatchCase=False
 .MatchWholmeWord=False
 .MatchWildcards= True
End With


While Selection.Find.Execute =True
If Selection.Text="dbo" then
  Selection.MoveRight Unit:=wdWord, Count:=1, EXtend:=wdExtend
end if
' aller au mot suivant
Selection.MoveRight Unit:=wdWord, Count:=1, Extend=wdMove
Wend
3
strangepepyte Messages postés 3 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 17 mars 2009
16 mars 2009 à 16:16
Merci pour ta réponse mais je n'ai pas trop compris ce que fait "<?"
3
cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 1
16 mars 2009 à 16:23
1- Le code que je t'ai indiqué s'obtient aussi (je pense) avec l'enregistreur de macro de Word
2- l'option "<?" recherche un mot suivi d'un caractère
Dans la boite Recehrcher/Remplacer de WOrd
coches "Utiliser les caractères génériques"
Ensuite utilise le bouton spécial, tu verras apparaitre
<  signifie "debut de mot"
? signifie "tout caractère"
3
strangepepyte Messages postés 3 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 17 mars 2009
17 mars 2009 à 09:51
Je me suis débrouillé autrement. En fait mon document était toujours fais de la même manière.
J'ai donc selectionner le mot "dbo." avec "*Colonnes" pour trouver les mot de dbo à colonnes puis je les ai enlever pour n'avoir que le milieu...
Pas très joli mais ça marche

.Text = "dbo.*Colonnes"
word_app.Selection.Text = Right(table, Len(word_app.Selection.Text) - 4)
word_app.Selection.Text = Left(table, Len(word_app.Selection.Text) - 9)

Je te remercie pour tes réponses.
3
Rejoignez-nous