Sisukord
Üks tavaline probleem, millega enamik meist oma igapäevaelus kokku puutub, on see, kuidas saada mingid konkreetsed andmed välja PDF faili Exceli töölehele, kasutades VBA Selles artiklis näitan teile, kuidas seda mugavalt teha, kasutades selleks sobivaid näiteid ja illustratsioone.
Konkreetsete andmete väljavõtmine PDF-st Excelisse VBA abil (kiire vaade)
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\standardaltable.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
Lae alla praktiline töövihik
Lae alla see harjutusvihik, et seda artiklit lugedes harjutada.
Andmete väljavõtmine PDF.xlsm-stÜlevaade konkreetsete andmete väljavõttest PDF-st Excelisse VBA abil (samm-sammult analüüs)
Niisiis, ilma pikema viivituseta läheme meie tänase põhidiskussiooni juurde. Siin on meil üks PDF fail nimega standardnormaltable.pdf mis sisaldab normaaljaotuse tabelit.
Ja me avasime töölehe nimega Leht1 Exceli töövihikusse, kuhu me kopeerime andmed alates PDF faili.
Nüüd ma näitan, et saate kopeerida andmeid alates PDF faili Exceli töölehele samm-sammult analüüsi kaudu.
⧪ 1. samm: vajalike sisendite deklareerimine
Kõigepealt tuleb deklareerida vajalikud sisendid. Nende hulka kuuluvad töölehe nimi, lahtrite vahemik, rakenduse asukoht, mille kaudu saab PDF fail avatakse ( Adobe Reader selles näites) ja asukoht PDF faili.
Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" PDF_Path = "E:\ExcelWIKI\standardnormaltable"
⧪ 2. samm: PDF-faili avamine (VBA Shell käsu abil)
Järgmisena peame kutsuma VBA Hülsi funktsioon avada PDF faili.
Shell_Path = Application_Path & " """ & PDF_Path & """" Call Shell(pathname:=Shell_Path, windowstyle:=vbNormalFocus)
⧪ 3. samm (valikuline): Ootame mõned hetked.
See on vabatahtlik. Kuid kui teil on pikk ülesannete seeria, on parem oodata mõni hetk, et arvuti saaks varasema ülesande edukalt lõpetada ja alustada uut ülesannet.
Application.Wait Now + TimeValue("0:00:03")
Siin ootame 30 sekundit. Aga kui soovite, võite oodata kauem.
⧪ 4. samm: SendKeys'i kasutamine andmete kopeerimiseks PDF-failist
See on ilmselt kõige olulisem ülesanne. Me kasutame 3 SendKeys:
- ALT + V, P, C: See on peamiselt selleks, et võimaldada kerimist leheküljel PDF Väikeste failide puhul ei ole see vajalik, kuid suuremate failide puhul muutub see vajalikuks kogu faili valimiseks.
- CTRL + A: See on kogu faili valimiseks.
- CTRL + C : Valitud faili kopeerimiseks.
Seetõttu on koodiridade sisu:
SendKeys "%vpc" SendKeys "^a" SendKeys "^c"
⧪ 5. samm: andmete kleepimine Exceli faili
Oleme avanud konkreetse PDF faili ja kopeerisime sellest failist andmed. Nüüd peame need andmed kleepima töölehe soovitud vahemikku.
MyWorksheet.Range("A1").PasteSpecial Paste:=xlPasteAll
Siin olen kleepinud lahtrisse A1 Loomulikult võite kleepida selle ka kuhugi mujale vastavalt oma soovile.
⧪ 6. samm (valikuline): PDF-faili sulgemine (rakenduse lõpetamine)
Lõpuks on parem sulgeda käimasolev programm pärast andmete väljavõtte lõpetamist.
Kutsu Shell("TaskKill /F /IM Acrobat.exe", vbHide)
Loe edasi: Kuidas andmeid PDF-st Excelisse ekstraheerida (4 sobivat viisi)
Sarnased lugemised
- Kuidas eksportida andmeid täidetavast PDF-st Excelisse (kiirete sammudega)
- Kuidas eksportida PDF-kommentaarid Exceli tabelisse (3 kiiret trikki)
Näide konkreetsete andmete väljavõtmiseks PDF-st Excelisse VBA abil
Me nägime samm-sammult protseduuri, kuidas andmeid ekstraheerida ühest PDF faili Exceli töölehele, kasutades VBA .
Seetõttu on täielik VBA kood andmete väljavõtte tegemiseks PDF fail nimega standardnormaltable aadressile Leht1 on:
⧭ VBA kood:
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\standardaltable.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
⧭ Väljund:
Käivita see kood. Ja see kopeerib andmed alates PDF fail nimega "standardnormaltable" töölehele nimega "Sheet1" aktiivses töövihikus.
Loe edasi: Kuidas ekstraheerida andmeid mitmest PDF-failist Excelisse (3 sobivat viisi)
Asjad, mida meeles pidada
- Töövihik, millesse kopeeritakse andmed, mis on pärit PDF fail peab olema koodi käivitamise ajal avatud. Vastasel juhul peate koodis kasutama töövihiku nime.
- Koodi sees kasutatava rakenduse nimi ( Adobe Acrobat DC siin) peab olema teie arvutisse installeeritud. Vastasel juhul saate veateate.
- Suurte andmekogumite puhul PDF failid, võib kõigi andmete kopeerimine ja kleepimine võtta aega. Seega olge kannatlik ja oodake, kuni protsess edukalt lõpule jõuab.
Kokkuvõte
Seega on tegemist protsessiga, mille käigus ekstraheeritakse mõned konkreetsed andmed ühest PDF faili Exceli töölehele, kasutades VBA Kas teil on küsimusi? Küsige meilt julgelt. Ja ärge unustage külastada meie veebilehte. ExcelWIKI rohkem postitusi ja uuendusi.