Indholdsfortegnelse
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.xlsmEn 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.