подсчет строки в pdf файле с использованием QTP - PullRequest
0 голосов
/ 02 августа 2010

Я пытаюсь подсчитать, сколько раз строка существует в файле PDF.Я использовал приведенный ниже код, но он идет бесконечным циклом.Проблема в том, что после нахождения строки после последней страницы она возвращается на 1-ю страницу и повторяет все шаги снова.У кого-нибудь есть решение этой проблемы.Любая помощь будет оценена.

Спасибо Шива

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 голосов
/ 02 августа 2010

Я не думаю, что это связано с QTP, это связано с API Acrobat, быстрый поиск вернул эту ссылку на API .

Похоже, проблема в том, что вы используете логическое значение для bReset, документация гласит:

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

Так что bReset должно быть длинным, а не логическим.

bReset: Если число положительное, поиск начинается на первой странице документа. Если 0, он начинается на текущей странице.

В VBScript False равен 0, а True равен -1, поэтому, когда вы отправляете True, возможно, это не считается положительным числом, попробуйте использовать 1 вместо.

...