Sådan udtrækkes specifikke data fra PDF til Excel ved hjælp af VBA

  • Del Dette
Hugh West

Et af de almindelige problemer, som de fleste af os står over for i vores dagligdag, er at udtrække nogle specifikke data fra en PDF fil til et Excel-regneark ved hjælp af VBA I denne artikel vil jeg vise dig, hvordan du kan opnå dette på en behagelig måde med gode eksempler og illustrationer.

Udtrække specifikke data fra PDF til Excel ved hjælp af VBA (hurtig visning)

 Sub Extract_Data_from_PDF() Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program Files\Adobe\Acrobat DC\Acrobat\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 

Download arbejdsbog til øvelser

Download denne arbejdsbog til træning, så du kan øve dig, mens du læser denne artikel.

Udtrække data fra PDF.xlsm

En oversigt over at udtrække specifikke data fra PDF-filer til Excel ved hjælp af VBA (trinvis analyse)

Så lad os uden yderligere forsinkelse gå videre til vores hoveddiskussion i dag. Her har vi en PDF fil kaldet standardnormaltabel.pdf der indeholder en tabel over normalfordelingen.

Og vi har åbnet et regneark kaldet Ark1 i en Excel-arbejdsbog, hvor vi kopierer dataene fra PDF fil.

Nu vil jeg vise, at du kan kopiere data fra PDF fil til Excel-regnearket gennem en trinvis analyse.

⧪ Trin 1: Angivelse af de nødvendige indgange

Først og fremmest skal du angive de nødvendige input. Disse omfatter regnearkets navn, cellernes rækkevidde, placeringen af det program, gennem hvilket PDF fil åbnes ( Adobe Reader i dette eksempel), og placeringen af den PDF fil.

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

⧪ Trin 2: Åbning af PDF-filen (ved hjælp af VBA Shell-kommandoen)

Dernæst skal vi kalde VBA Shell-funktion for at åbne den PDF fil.

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

⧪ Trin 3 (valgfrit): Vent et par øjeblikke

Dette er valgfrit, men når du har en lang række opgaver, er det bedre at vente et par øjeblikke, så computeren kan afslutte den tidligere opgave og starte en ny opgave.

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

Her venter vi i 30 sekunder, men hvis du vil, kan du vente længere tid.

⧪ Trin 4: Brug SendKeys til at kopiere data fra PDF-filen

Dette er nok den vigtigste opgave. Vi bruger 3 SendKeys:

  • ALT + V, P, C: Dette er primært for at aktivere rulning i PDF For små filer er det ikke nødvendigt, men for større filer er det nødvendigt for at vælge hele filen.
  • CTRL + A: Dette er til at vælge hele filen.
  • CTRL + C : Til kopiering af den valgte fil.

Derfor vil kodelinjerne være:

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

⧪ Trin 5: Indsæt dataene i Excel-filen

Vi har åbnet den specifikke PDF fil og kopieret data fra denne fil. Nu skal vi indsætte disse data i det ønskede område i regnearket.

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

Her har jeg indsat i celle A1 Du kan naturligvis indsætte det et andet sted, hvis du ønsker det.

⧪ Trin 6 (valgfrit): Lukning af PDF-filen (afslutning af programmet)

Endelig er det bedre at lukke det kørende program, når du er færdig med dataudtrækningen.

 Kald Shell("TaskKill /F /IM Acrobat.exe", vbHide) 

Læs mere: Sådan udtrækkes data fra PDF til Excel (4 egnede måder)

Lignende læsninger

  • Sådan eksporteres data fra udfyldbar PDF til Excel (med hurtige trin)
  • Sådan eksporteres PDF-kommentarer til et Excel-regneark (3 hurtige tricks)

Eksempel på at udtrække specifikke data fra PDF til Excel ved hjælp af VBA

Vi har set trin for trin-proceduren for at udtrække data fra en PDF fil til et Excel-regneark ved hjælp af VBA .

Derfor skal den fuldstændige VBA kode til at udtrække data fra den PDF fil kaldet standardnormaltabel til Ark1 vil være:

VBA-kode:

 Sub Extract_Data_from_PDF() Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program Files\Adobe\Acrobat DC\Acrobat\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 

Output:

Kør denne kode, og den vil kopiere data fra PDF fil kaldet "standardnormaltabel" til regnearket kaldet "Ark1" i den aktive projektmappe.

Læs mere: Sådan udtrækkes data fra flere PDF-filer til Excel (3 egnede måder)

Ting at huske

  • Den projektmappe, hvor du kopierer dataene fra PDF filen skal holdes åben, mens koden køres. Ellers skal du bruge arbejdsbogens navn i koden.
  • Navnet på det program, som du bruger i koden ( Adobe Acrobat DC her) skal være installeret på din computer, ellers får du en fejlmeddelelse.
  • For store datasæt på PDF filer, kan det tage noget tid at kopiere alle dataene og indsætte dem. Så vær tålmodig og vent, indtil processen er afsluttet med succes.

Konklusion

Derfor er dette processen til at udtrække nogle specifikke data fra en PDF fil til et Excel-regneark ved hjælp af VBA Hvis du har spørgsmål, er du velkommen til at spørge os, og husk at besøge vores hjemmeside ExcelWIKI for flere indlæg og opdateringer.

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.