Оглавление
Одна из распространенных проблем, с которой большинство из нас сталкивается в повседневной жизни, - как извлечь некоторые конкретные данные из 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 для получения новых сообщений и обновлений.