Cuprins
Una dintre problemele comune cu care cei mai mulți dintre noi ne confruntăm în viața de zi cu zi este cum să extragem niște date specifice dintr-un fișier PDF într-o foaie de lucru Excel folosind VBA În acest articol, vă voi arăta cum să realizați acest lucru în mod confortabil, cu exemple și ilustrații adecvate.
Extragerea de date specifice din PDF în Excel utilizând VBA (Vizualizare rapidă)
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
Descărcați caietul de practică
Descărcați acest caiet de exerciții pentru a vă exercita în timp ce citiți acest articol.
Extrageți date din PDF.xlsmO prezentare generală pentru a extrage date specifice din PDF în Excel utilizând VBA (analiză pas cu pas)
Așadar, fără alte întârzieri, să trecem la discuția principală de astăzi. Aici avem un PDF fișier numit standardnormaltable.pdf care conține un tabel al distribuției normale.
Și am deschis o foaie de lucru numită Foaie1 într-un registru de lucru Excel în care vom copia datele de la PDF dosar.
Acum vă voi arăta că puteți copia datele din PDF în foaia de calcul Excel printr-o analiză pas cu pas.
⧪ Pasul 1: Declararea intrărilor necesare
În primul rând, trebuie să declarați intrările necesare. Acestea includ numele foii de lucru, intervalul de celule, locația aplicației prin care se va executa aplicația PDF va fi deschis fișierul ( Adobe Reader în acest exemplu), iar locația PDF dosar.
Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" PDF_Path = "E:\ExcelWIKI\standardnormaltable"
⧪ Pasul 2: Deschiderea fișierului PDF (utilizând comanda VBA Shell)
În continuare, trebuie să apelăm la VBA Funcția Shell pentru a deschide fereastra PDF dosar.
Shell_Path = Application_Path & " """" & PDF_Path & """" Call Shell(pathname:=Shell_Path, windowstyle:=vbNormalFocus)
⧪ Pasul 3 (opțional): Așteptarea câtorva clipe
Acest lucru este opțional, dar atunci când aveți o serie lungă de sarcini, este mai bine să așteptați câteva momente pentru a permite computerului să termine cu succes sarcina anterioară și să înceapă o nouă sarcină.
Application.Wait Now + TimeValue("0:00:03")
Aici, așteptăm 30 de secunde, dar dacă doriți, puteți aștepta mai mult.
⧪ Pasul 4: Utilizarea SendKeys pentru a copia date din fișierul PDF
Aceasta este, probabil, cea mai importantă sarcină. Vom folosi 3 SendKeys:
- ALT + V, P, C: Acest lucru este în principal pentru a permite derularea în PDF În cazul fișierelor mici, acest lucru nu este necesar, dar în cazul fișierelor mai mari, acest lucru devine necesar pentru selectarea întregului fișier.
- CTRL + A: Aceasta este pentru selectarea întregului fișier.
- CTRL + C : Pentru copierea fișierului selectat.
Prin urmare, liniile de cod vor fi:
SendKeys "%vpc" SendKeys "^a" SendKeys "^c"
⧪ Pasul 5: Lipirea datelor în fișierul Excel
Am deschis o secțiune specifică PDF Acum trebuie să lipim aceste date în intervalul dorit din foaia de calcul.
MyWorksheet.Range("A1").PasteSpecial Paste:=xlPasteAll
Aici, am lipit în celulă A1 Desigur, îl puteți lipi oriunde altundeva, în funcție de dorința dumneavoastră.
⧪ Pasul 6 (opțional): Închiderea fișierului PDF (încheierea aplicației)
În cele din urmă, este mai bine să închideți programul care rulează după ce ați terminat cu extragerea datelor.
Apel Shell("TaskKill /F /IM Acrobat.exe", vbHide)
Citește mai mult: Cum să extrageți date din PDF în Excel (4 moduri adecvate)
Lecturi similare
- Cum să exportați date din PDF-uri completabile în Excel (cu pași rapizi)
- Cum să exportați comentarii PDF într-o foaie de calcul Excel (3 trucuri rapide)
Exemplu pentru a extrage date specifice din PDF în Excel utilizând VBA
Am văzut procedura pas cu pas pentru a extrage date dintr-un fișier PDF într-o foaie de lucru Excel folosind VBA .
Prin urmare, întregul VBA pentru a extrage date din PDF fișier numit standardnormalnormaltable la Foaie1 va fi:
⧭ Cod 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
⧭ Ieșire:
Rulați acest cod. Și va copia datele de la PDF fișier numit "standardnormaltable" în foaia de lucru numită "Sheet1" în registrul de lucru activ.
Citește mai mult: Cum să extrageți date din mai multe fișiere PDF în Excel (3 moduri adecvate)
Lucruri de reținut
- Caietul de lucru în care veți copia datele din PDF trebuie să fie ținut deschis în timpul rulării codului. În caz contrar, va trebui să folosiți numele registrului de lucru în cod.
- Numele aplicației pe care o utilizați în interiorul codului ( Adobe Acrobat DC aici) trebuie să fie instalat pe computerul dvs. În caz contrar, veți primi o eroare.
- Pentru seturi mari de date de PDF este posibil ca procesul să dureze ceva timp pentru a copia toate datele și a le lipi. Așadar, aveți răbdare și așteptați până când procesul se finalizează cu succes.
Concluzie
Prin urmare, acesta este procesul de extragere a unor date specifice dintr-un fișier PDF într-o foaie de lucru Excel folosind VBA Dacă aveți întrebări, nu ezitați să ne întrebați. Și nu uitați să vizitați site-ul nostru. ExcelWIKI pentru mai multe postări și actualizări.