Turinys
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.xlsmKonkreč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ų.