使用QTP计算pdf文件中的字符串

时间:2010-08-02 03:16:34

标签: pdf qtp acrobat

我正在尝试计算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()  

1 个答案:

答案 0 :(得分: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代替。 / p>