2009-06-10 50 views
2

我試圖使用range.find方法提取粗體文本,除非整個範圍實際上是粗體(不太可能發生太多,它更多的是邊緣條件),否則所有內容都是桃色的。使用range.find查找粗體文本時,它不會查找整個選擇是否爲粗體!

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 

上述比賽粗體文本在一開始或在右端部,甚至兩者但不是當整個範圍爲粗體。我想我可能必須在搜索範圍之前測試range.font.bold = true。什麼stackoverflow認爲?

回答

6

這應該找到任何大膽的文字:

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

感謝guillermooo,不正是我之後,但一個有用的技術沒有-的少,我給你一個了投票爲:-) – Kevin 2009-06-11 13:41:48