2009-06-10 3 views
2

J'essaie d'extraire du texte en gras en utilisant la méthode range.find et tout est pêché, sauf si toute la plage est en gras (pas très probable, c'est plutôt une condition de contour).Lorsque vous utilisez range.find pour trouver du texte en gras, il ne trouvera pas si toute la sélection est en gras!

With rngFindRange.Find 
.ClearFormatting 
.Font.Bold = True 
Do 
    .Execute 

    If Not .Found Then 
     Exit Do 
    End If 

    'do something with found text' 

    Set rngFindRange = ActiveDocument.Range(rngFindRange.End + 1, Selection.End) 

Loop 

Les résultats ci-dessus le texte en gras dès le début ou vers la droite à la fin, même les deux, mais pas quand la gamme est gras. Je pense que je devrais tester le range.font.bold = true avant de chercher dans la gamme. Que pense stackoverflow?

Répondre

6

Cela devrait trouver un texte en gras:

Sub SearchBoldText() 
    Dim rng As Range 
    Set rng = ThisDocument.Range(0, 0) 
    With rng.Find 
     .ClearFormatting 
     .Format = True 
     .Font.Bold = True 
     While .Execute 
      rng.Select 
      rng.Collapse direction:=wdCollapseEnd 
     Wend 
    End With 
    Set rng = Nothing 
End Sub 
+0

Merci guillermooo, pas exactement ce que je cherchais, mais une technique utile cependant pas le moins, je vais vous donner un vote pour que vous :-) – Kevin

+0

C'est si j'avais une réputation de 15 je suppose :-( – Kevin

+0

Pouvez-vous poster votre sous-ensemble alors? Qu'est-ce que vous avez besoin exactement? – guillermooo

Questions connexes