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