Как извлечь конкретные данные из 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 Call 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)

Далее мы должны вызвать VBA Функция оболочки чтобы открыть 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 Call Shell("TaskKill /F /IM Acrobat.exe", vbHide) End Sub 

Выход:

Запустите этот код, и он скопирует данные из PDF файл под названием "стандартно-нормальный" в рабочий лист под названием "Лист1" в активной рабочей книге.

Читать далее: Как извлечь данные из нескольких PDF-файлов в Excel (3 подходящих способа)

О чем следует помнить

  • Рабочая книга, в которую вы будете копировать данные из PDF файл должен быть открыт во время выполнения кода. В противном случае вам придется использовать имя рабочей книги в коде.
  • Имя приложения, которое вы используете внутри кода ( Adobe Acrobat DC здесь) должна быть установлена на вашем компьютере. В противном случае вы получите ошибку.
  • Для больших наборов данных PDF файлов, процесс может занять некоторое время для копирования всех данных и вставки. Поэтому наберитесь терпения и дождитесь успешного завершения процесса.

Заключение

Таким образом, это процесс извлечения некоторых конкретных данных из PDF файл в рабочую таблицу Excel с помощью VBA У вас есть вопросы? Не стесняйтесь, задавайте их нам. И не забудьте посетить наш сайт. ExcelWIKI для получения новых сообщений и обновлений.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.