Зміст
Однією з поширених проблем, з якою більшість з нас стикається в повсякденному житті, є те, як витягти певні дані з 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 Shell)
Далі ми повинні зателефонувати до 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:
- АЛТ + В, Р, С: Це зроблено головним чином для того, щоб забезпечити прокрутку в PDF Для невеликих файлів це не обов'язково, але для великих файлів це стає необхідним для виділення всього файлу.
- CTRL + A: Це для виділення всього файлу.
- CTRL + C Для копіювання вибраного файлу.
Тому рядки коду будуть:
SendKeys "%vpc" SendKeys "^a" SendKeys "^c"
⧪ Крок 5: Вставка даних у файл Excel
Ми відкрили конкретний PDF і скопіювали дані з цього файлу. Тепер ми повинні вставити ці дані в потрібний діапазон робочого аркуша.
МійАркуш.Діапазон("A1").ВставитиСпеціальнуВставку:=xlВставитиВсі
Ось, я вставив в камеру 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 файл під назвою standardnormaltable до Аркуш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 файл під назвою "standardnormaltable" на робочий аркуш з назвою "Лист1" в активному робочому зошиті.
Читати далі: Як витягти дані з декількох PDF-файлів у Excel (3 відповідні способи)
Важливі моменти для запам'ятовування
- Робоча книга, в яку ви будете копіювати дані з PDF під час виконання коду повинен бути відкритий, інакше в коді доведеться використовувати ім'я робочої книги.
- Назва програми, яку ви використовуєте всередині коду ( Adobe Acrobat DC тут) має бути встановлений на вашому комп'ютері, інакше ви отримаєте помилку.
- Для великих масивів даних PDF процес може зайняти деякий час, щоб скопіювати всі дані та вставити їх. Тому наберіться терпіння і дочекайтеся успішного завершення процесу.
Висновок
Таким чином, це процес вилучення деяких конкретних даних з PDF файл на аркуш Excel за допомогою VBA Виникли питання - задавайте їх нам. І не забувайте заходити на наш сайт ExcelWIKI для отримання додаткової інформації та оновлень.