Как да извлечете определени данни от PDF в Excel с помощта на VBA

  • Споделя Това
Hugh West

Един от често срещаните проблеми, с които повечето от нас се сблъскват в ежедневието си, е как да извлечем някои конкретни данни от PDF файл в работен лист на Excel с помощта на VBA . В тази статия ще ви покажа как да постигнете това с подходящи примери и илюстрации.

Извличане на конкретни данни от PDF в Excel с помощта на VBA (бърз преглед)

 Sub Extract_Data_from_PDF() Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" PDF_Path = "E:\ExcelWIKI\standardnormaltable.pdf" Shell_Path = Application_Path & " """ & PDF_Path & """" Call Shell(pathname:=Shell_Path, windowstyle:=vbNormalFocus) Application.Wait Now + TimeValue("0:00:03") SendKeys "%vpc"SendKeys "^a" SendKeys "^c" MyWorksheet.Range("A1").PasteSpecial Paste:=xlPasteAll Извикайте Shell("TaskKill /F /IM Acrobat.exe", vbHide) End Sub 

Изтегляне на работна тетрадка за практика

Изтеглете тази учебна тетрадка, за да се упражнявате, докато четете тази статия.

Извличане на данни от PDF.xlsm

Преглед на извличането на специфични данни от PDF в Excel с помощта на VBA (анализ стъпка по стъпка)

И така, без да се бавим повече, нека преминем към основната ни дискусия днес. Тук имаме PDF файл, наречен standardnormaltable.pdf която съдържа таблица на нормалното разпределение.

И отворихме работен лист, наречен Лист1 в работна книга на Excel, където ще копираме данните от PDF файл.

Сега ще ви покажа, че можете да копирате данни от PDF файл в работния лист на Excel чрез анализ стъпка по стъпка.

⧪ Стъпка 1: Деклариране на необходимите входни данни

На първо място, трябва да декларирате необходимите входни данни. Те включват името на работния лист, обхвата на клетките, местоположението на приложението, чрез което PDF ще бъде отворен файл ( Adobe Reader в този пример) и местоположението на PDF файл.

 Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" PDF_Path = "E:\ExcelWIKI\standardnormaltable" 

⧪ Стъпка 2: Отваряне на PDF файла (с помощта на командата VBA Shell)

След това трябва да извикаме VBA Функция Shell за да отворите PDF файл.

 Shell_Path = Application_Path & " """ & PDF_Path & """" Call Shell(pathname:=Shell_Path, windowstyle:=vbNormalFocus) 

⧪ Стъпка 3 (по избор): Изчакване за няколко минути

Това не е задължително. Но когато имате дълга поредица от задачи, е по-добре да изчакате няколко минути, за да може компютърът да завърши успешно предишната задача и да започне нова.

 Application.Wait Now + TimeValue("0:00:03") 

Тук изчакваме 30 секунди, но ако искате, можете да изчакате и повече.

⧪ Стъпка 4: Използване на SendKeys за копиране на данни от PDF файла

Това вероятно е най-важната задача. Ще използваме 3 SendKeys:

  • ALT + V, P, C: Това е основно за активиране на превъртането в PDF . За малки файлове това не е необходимо. Но за по-големи файлове това става необходимо за избиране на целия файл.
  • CTRL + A: Това е за избор на целия файл.
  • CTRL + C : За копиране на избрания файл.

Следователно редовете код ще бъдат:

 SendKeys "%vpc" SendKeys "^a" SendKeys "^c" 

⧪ Стъпка 5: Вмъкване на данните във файла на Excel

Отворихме конкретния PDF и копирахме данните от този файл. Сега трябва да поставим тези данни в желания диапазон на работния лист.

 MyWorksheet.Range("A1").PasteSpecial Paste:=xlPasteAll 

Тук съм вмъкнал клетка A1 Разбира се, можете да го поставите навсякъде другаде според желанието си.

⧪ Стъпка 6 (по избор): Затваряне на PDF файла (приключване на приложението)

И накрая, след като приключите с извличането на данни, е добре да затворите работещата програма.

 Извикайте Shell("TaskKill /F /IM Acrobat.exe", vbHide) 

Прочетете още: Как да извлечете данни от PDF в Excel (4 подходящи начина)

Подобни четива

  • Как да експортирате данни от PDF файл за попълване в Excel (с бързи стъпки)
  • Как да експортирате PDF коментари в електронна таблица на Excel (3 бързи трика)

Пример за извличане на конкретни данни от PDF в Excel с помощта на VBA

Видяхме процедурата стъпка по стъпка за извличане на данни от PDF файл в работен лист на Excel с помощта на VBA .

Следователно пълният VBA код за извличане на данни от PDF файл, наречен стандартна нормална маса към Лист1 ще бъде:

Код VBA:

 Sub Extract_Data_from_PDF() Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" PDF_Path = "E:\ExcelWIKI\standardnormaltable.pdf" Shell_Path = Application_Path & " """ & PDF_Path & """" Call Shell(pathname:=Shell_Path, windowstyle:=vbNormalFocus) Application.Wait Now + TimeValue("0:00:03") SendKeys "%vpc"SendKeys "^a" SendKeys "^c" MyWorksheet.Range("A1").PasteSpecial Paste:=xlPasteAll Извикайте Shell("TaskKill /F /IM Acrobat.exe", vbHide) End Sub 

Изход:

Изпълнете този код. И той ще копира данни от PDF файл, наречен "standardnormaltable" към работния лист, наречен "Sheet1" в активната работна книга.

Прочетете още: Как да извлечете данни от множество PDF файлове в Excel (3 подходящи начина)

Нещата, които трябва да запомните

  • Работната книга, в която ще копирате данните от PDF Файлът трябва да бъде отворен по време на изпълнението на кода. В противен случай ще трябва да използвате името на работната книга в кода.
  • Името на приложението, което използвате в кода ( Adobe Acrobat DC тук) трябва да е инсталиран на компютъра ви. В противен случай ще получите грешка.
  • За големи набори от данни от PDF файлове, процесът може да отнеме известно време, за да се копират всички данни и да се вмъкнат. Затова бъдете търпеливи и изчакайте, докато процесът завърши успешно.

Заключение

Следователно това е процесът на извличане на определени данни от PDF файл в работен лист на Excel с помощта на VBA . Имате ли въпроси? Не се колебайте да ни попитате. И не забравяйте да посетите нашия сайт ExcelWIKI за повече публикации и актуализации.

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.