Board logo

標題: [發問] 如何得知搜尋結果的數量? [打印本頁]

作者: PKKO    時間: 2014-12-19 10:37     標題: 如何得知搜尋結果的數量?

objSelection.WholeStory
                objSelection.Find.ClearFormatting
                objSelection.Find.Text = tt
                objSelection.Find.Replacement.Text = ""
                objSelection.Find.Forward = True
                objSelection.Find.Wrap = wdFindContinue
                objSelection.Find.Format = False
                objSelection.Find.MatchCase = False
                objSelection.Find.MatchWholeWord = False
                objSelection.Find.MatchByte = True
                objSelection.Find.CorrectHangulEndings = False
                objSelection.Find.MatchAllWordForms = False
                objSelection.Find.MatchSoundsLike = False
                objSelection.Find.MatchWildcards = False
                objSelection.Find.MatchFuzzy = False
                objSelection.Find.Execute
                objSelection.TypeText Text:=CStr(rr)
                objSelection.Find.Execute , , , , , , , , , , wdReplaceAll


以上之程式碼可以完成我搜尋的工作,並且取代成功
但要如何得知有"幾個"搜尋結果,將搜尋結果的數量變成一個變數名稱ex:findN
而我就可以執行其他動作
if findN =0 then XXXXX

麻煩各位大大了
作者: s90068    時間: 2014-12-20 15:21

提問一下,這個是不是可以用迴圈來統計搜尋結果的數量?
作者: PKKO    時間: 2014-12-20 17:59

回復 2# s90068
如何使用?
沒有看到有顯示數量的地方
不知道怎樣跑迴圈
作者: s90068    時間: 2014-12-21 11:32

回復 3# PKKO

這個是WORD說明功能中的例子:

Set myRange = ActiveDocument.Content
myRange.Find.Execute FindText:="blue", Forward:=True
If myRange.Find.Found = True Then myRange.Bold = True

,想說用 Find.Found 搭判斷式及迴圈 看是否行得通
作者: linyancheng    時間: 2014-12-28 23:34

我自己的例子,請自行研究!

    總字數 = 0
    造字統計字串 = ""
    For X = 0 To UBound(完整的造字陣列)
        With Selection.Find
            .ClearFormatting
            .Text = 完整的造字陣列(X)
            .Forward = False
            .Wrap = wdFindStop
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchByte = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            
            各別字數 = 0
            Do
                .Execute 'Forward:=True
               
                If .Found = True And Selection.Range.InRange(造字統計範圍) Then
                    各別字數 = 各別字數 + 1
                    總字數 = 總字數 + 1
                Else
                    If 各別字數 > 0 Then
                        造字統計字串 = 造字統計字串 & 完整的造字陣列(X) & "-" & 各別字數 & "_"
                    End If
                    
                    Exit Do
                End If
            Loop
        End With
        
        造字統計範圍.Select
    Next X
作者: PKKO    時間: 2014-12-28 23:41

回復 5# linyancheng


    感恩




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)