2010-08-02 75 views
0

我想要統計pdf文件中字符串存在的次數。我使用了下面的代碼,但它正在無限循環中。問題是在找到最後一頁之後的字​​符串之後,它返回到第1頁並重復所有步驟。有沒有人有這個問題的解決方案。任何幫助將不勝感激。使用QTP對pdf文件中的字符串進行計數

感謝 溼婆

Dim AcroApp, AcroAVDoc 
Dim gPDFPath, bReset, nCount 
gPDFPath = "xyz.pdf" 

Set AcroApp = CreateObject("AcroExch.App") 
AcroApp.Show() 
Set AcroAVDoc = CreateObject("AcroExch.AVDoc") 
If AcroAVDoc.Open(gPDFPath, "") Then 
    AcroAVDoc.BringToFront() 
    bReset = True : nCount = 0 
    Do While AcroAVDoc.FindText("let", True, True, bReset) 
     bReset = False : nCount = nCount + 1 
     Wait 0, 200 
    Loop 
End If 
AcroApp.CloseAllDocs() 
AcroApp.Exit() 

回答

0

我不認爲這是QTP它與Acrobat的API做相關,快速搜索返回this link to the API

它看起來像問題是,您使用的是布爾爲bReset,該文件說:

VARIANT_BOOL FindText(BSTR szText, 
         long bCaseSensitive, 
         long bWholeWordsOnly, 
         long bReset); 

所以bReset應該是一個長期沒有一個布爾值。

bReset:如果一個正數,搜索文檔的第一頁開始。如果爲0,則從當前頁面開始。

在VBScript False是0和True是-1,所以,當你發送True這可能是因爲它不被認爲是正數,嘗試使用1代替。

相關問題