Kaip ištraukti konkrečius duomenis iš PDF į "Excel" naudojant VBA

  • Pasidalinti
Hugh West

Viena iš dažniausių problemų, su kuriomis dauguma mūsų susiduria kasdieniame gyvenime, yra ta, kaip išgauti tam tikrus konkrečius duomenis iš PDF failą į "Excel" darbalapį naudojant VBA . Šiame straipsnyje parodysiu, kaip tai patogiai atlikti, pateikdamas tinkamus pavyzdžius ir iliustracijas.

Konkrečių duomenų išrašymas iš PDF į "Excel" naudojant VBA (greita peržiūra)

 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 

Atsisiųsti praktikos sąsiuvinį

Atsisiųskite šį pratybų sąsiuvinį, kad galėtumėte atlikti pratimus skaitydami šį straipsnį.

Duomenų ištraukimas iš PDF.xlsm

Konkrečių duomenų ištraukimo iš PDF į "Excel" naudojant VBA apžvalga (žingsnis po žingsnio analizė)

Taigi, nieko nelaukdami pereikime prie mūsų pagrindinės šiandienos diskusijos. Čia turime PDF failą, vadinamą standartinėnorminė lentelė.pdf kurioje pateikiama normaliojo pasiskirstymo lentelė.

Atidarėme darbalapį, pavadintą 1 lapas "Excel" sąsiuvinyje, į kurį nukopijuosime duomenis iš PDF failas.

Dabar parodysiu, kad galite nukopijuoti duomenis iš PDF failą į "Excel" darbalapį, atliekant laipsnišką analizę.

⧪ 1 žingsnis: reikiamų įvesties duomenų deklaravimas

Pirmiausia turite deklaruoti būtinus įvesties duomenis. Tai yra darbalapio pavadinimas, ląstelių diapazonas, programos, per kurią PDF bus atidarytas failas ( "Adobe Reader šiame pavyzdyje), o vieta PDF failas.

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

⧪ 2 veiksmas: PDF failo atidarymas (naudojant "VBA Shell" komandą)

Toliau turime iškviesti VBA Korpuso funkcija atidaryti PDF failas.

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

⧪ 3 veiksmas (pasirinktinai): palaukite keletą akimirkų

Tai neprivaloma. Tačiau kai turite ilgą užduočių seriją, geriau palaukti keletą akimirkų, kad kompiuteris galėtų sėkmingai užbaigti ankstesnę užduotį ir pradėti naują užduotį.

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

Čia laukiame 30 sekundžių. Bet jei norite, galite laukti ilgiau.

⧪ 4 veiksmas: Naudojant "SendKeys" kopijuoti duomenis iš PDF failo

Tai bene svarbiausia užduotis. 3 Siųsti klavišus:

  • ALT + V, P, C: Tai daugiausia skirta slinkimui įjungti PDF . Mažiems failams tai nebūtina. Tačiau didesniems failams tai tampa būtina norint pasirinkti visą failą.
  • CTRL + A: Taip pasirenkamas visas failas.
  • CTRL + C : Pasirinktam failui kopijuoti.

Todėl kodo eilutės bus tokios:

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

⧪ 5 veiksmas: duomenų įkėlimas į "Excel" failą

Atidarėme konkretų PDF failą ir nukopijavome duomenis iš to failo. Dabar turime įklijuoti tuos duomenis į norimą darbalapio intervalą.

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

Čia įklijavau ląstelę A1 darbo lape. Žinoma, jį galite įklijuoti bet kur kitur pagal savo pageidavimą.

⧪ 6 veiksmas (pasirinktinai): PDF failo uždarymas (paraiškos užbaigimas)

Galiausiai, baigus duomenų išgavimą, geriau uždaryti veikiančią programą.

 Iškvieskite "Shell" ("TaskKill /F /IM Acrobat.exe", vbHide) 

Skaityti daugiau: Kaip ištraukti duomenis iš PDF į "Excel" (4 tinkami būdai)

Panašūs skaitiniai

  • Kaip eksportuoti duomenis iš užpildomo PDF į "Excel" (greiti žingsniai)
  • Kaip eksportuoti PDF komentarus į "Excel" skaičiuoklę (3 greiti triukai)

Konkrečių duomenų ištraukimo iš PDF į "Excel" naudojant VBA pavyzdys

Matėme, kaip žingsnis po žingsnio išgauti duomenis iš PDF failą į "Excel" darbalapį naudojant VBA .

Todėl visas VBA kodą, skirtą duomenims išgauti iš PDF failą, vadinamą standartinėnormali lentelė į 1 lapas bus:

VBA kodas:

 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 

Išvestis:

Paleiskite šį kodą. Jis nukopijuos duomenis iš PDF failą, vadinamą "standardnormaltable" į darbalapį, pavadintą "Lapas1" aktyviajame sąsiuvinyje.

Skaityti daugiau: Kaip ištraukti duomenis iš kelių PDF failų į "Excel" (3 tinkami būdai)

Dalykai, kuriuos reikia prisiminti

  • Darbo knyga, į kurią kopijuosite duomenis iš PDF paleidžiant kodą failas turi būti atidarytas. Priešingu atveju teks naudoti darbaknygės pavadinimą kode.
  • Programos, kurią naudojate kodo viduje, pavadinimas ( "Adobe Acrobat DC čia) turi būti įdiegta jūsų kompiuteryje. Priešingu atveju gausite klaidą.
  • Dideliems duomenų rinkiniams PDF failus, procesas gali užtrukti, kol bus nukopijuoti visi duomenys ir įklijuoti. Todėl būkite kantrūs ir palaukite, kol procesas bus sėkmingai užbaigtas.

Išvada

Todėl tai yra procesas, kurio metu iš tam tikrų konkrečių duomenų PDF failą į "Excel" darbalapį naudojant VBA . Ar turite klausimų? Drąsiai kreipkitės į mus. Ir nepamirškite apsilankyti mūsų svetainėje ExcelWIKI daugiau pranešimų ir atnaujinimų.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.