Как искать строку в .pdf и возвращать номер страницы, используя VBA - PullRequest
1 голос
/ 18 апреля 2019

Мне нужно разработать инструмент, который принимает в качестве входных данных файл PDF и массив строк и возвращает номер страницы, где была найдена строка "x".

На данный момент мне удалось найтистрока в pdf, но я не могу найти способ вернуть номер страницы, где он расположен

Sub SearchStringInPDF(searchString As String)

Dim PDF_path As String
Dim PathName As String
Dim pdfName As String
Dim waitTime As Date

PathName = [Path_name]
pdfName = [pdf_name]

If PathName = vbNullString Then
    FullPath = ThisWorkbook.Path & "\" & pdfName
Else
    If Right(PathName, 1) <> "\" Then PathName = PathName & "\"
    PDF_path = PathName & pdfName
End If

Application.DisplayAlerts = False


'Open the pdf file
ThisWorkbook.FollowHyperlink PDF_path

'Wait time for a couple of seconds for the PDF file to fully load
waitTime = Now

'Send "CTRL + F" keys to the opened PDF to invoke find within that file
'The second argument "true" implies that Excel will wait for the keys to be processed
'before returning control to the macro.
SendKeys "^f", True

'Type the search string in the find box that opens
SendKeys searchString, True

'Hit enter to perform the s
SendKeys "{Enter}", True

Application.DisplayAlerts = True

End Sub

ПРИМЕР: для этого pdf файл и эти строки ["acrobat дистиллятор", "избежать дезориентации", "CERN"]

ожидаемый результат должен быть:

[страница 1, страница 3, страница 2]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...