Tartalomjegyzék
Az egyik leggyakoribb probléma, amivel a legtöbbünknek a mindennapi életben szembe kell néznie, hogy hogyan lehet bizonyos adatokat kinyerni egy PDF fájlt egy Excel munkalapra a VBA Ebben a cikkben megfelelő példákkal és illusztrációkkal mutatom meg, hogy ezt hogyan érheti el kényelmesen.
Konkrét adatok kivonása PDF-ből Excel-be a VBA használatával (gyorsnézet)
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
Gyakorlati munkafüzet letöltése
Töltse le ezt a gyakorlati munkafüzetet, hogy gyakorolhasson, miközben ezt a cikket olvassa.
Adatok kivonása PDF.xlsm fájlbólEgy áttekintés a konkrét adatok PDF-ből Excel-be történő kivonatolásához a VBA használatával (lépésről lépésre történő elemzés)
Szóval, további késlekedés nélkül térjünk rá a mai fő témánkra. Itt van nekünk egy PDF nevű fájl standardnormaltable.pdf amely a normális eloszlás táblázatát tartalmazza.
És megnyitottunk egy munkalapot Sheet1 egy Excel munkafüzetben, ahová az adatokat másoljuk a PDF fájl.
Most megmutatom, hogy adatokat másolhatsz a PDF fájlt az Excel munkalapra lépésről lépésre történő elemzéssel.
⧪ 1. lépés: A szükséges bemenetek deklarálása
Először is meg kell adnia a szükséges bemeneteket. Ezek közé tartozik a munkalap neve, a cellák tartománya, az alkalmazás helye, amelyen keresztül a PDF fájl megnyílik ( Adobe Reader ebben a példában), és a helyét a PDF fájl.
Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" PDF_Path = "E:\ExcelWIKI\standardnormaltable"
⧪ 2. lépés: A PDF-fájl megnyitása (a VBA Shell parancs használatával)
Ezután meg kell hívnunk a VBA Shell funkció a PDF fájl.
Shell_Path = Application_Path & " """" & PDF_Path & """" Call Shell(pathname:=Shell_Path, windowstyle:=vbNormalFocus)
⧪ 3. lépés (opcionális): Várjon néhány pillanatot.
Ez opcionális. De ha hosszú feladatsor van, jobb, ha vársz néhány pillanatot, hogy a számítógép sikeresen befejezhesse a korábbi feladatot, és elkezdhessen egy új feladatot.
Application.Wait Now + TimeValue("0:00:03")
Itt 30 másodpercet várunk, de ha akarod, többet is várhatsz.
⧪ 4. lépés: SendKeys használatával adatokat másolhatunk a PDF-fájlból
Ez valószínűleg a legfontosabb feladat. A 3 SendKeys:
- ALT + V, P, C: Ez főleg a görgetés engedélyezésére szolgál a PDF Kisebb fájlok esetén ez nem szükséges, de nagyobb fájlok esetén a teljes fájl kiválasztásához szükséges.
- CTRL + A: Ez a teljes fájl kiválasztására szolgál.
- CTRL + C : A kiválasztott fájl másolásához.
Ezért a kódsorok a következők lesznek:
SendKeys "%vpc" SendKeys "^a" SendKeys "^c"
⧪ 5. lépés: Az adatok beillesztése az Excel fájlba
Megnyitottuk a konkrét PDF fájlt, és bemásoltuk az adatokat a fájlból. Most be kell illesztenünk az adatokat a munkalap kívánt tartományába.
MyWorksheet.Range("A1").PasteSpecial Paste:=xlPasteAll
Itt, beillesztettem a cellába A1 Természetesen máshová is beillesztheti, ha szeretné.
⧪ 6. lépés (opcionális): A PDF-fájl bezárása (az alkalmazás befejezése)
Végül, miután végzett az adatok kinyerésével, jobb, ha bezárja a futó programot.
Hívja a Shell("TaskKill /F /IM Acrobat.exe", vbHide) hívását.
Bővebben: Hogyan lehet az adatokat PDF-ből Excel-be kivonatolni (4 megfelelő mód)
Hasonló olvasmányok
- Hogyan exportálhat adatokat kitölthető PDF-ből Excelbe (gyors lépésekkel)
- Hogyan exportálhat PDF-kommentárokat Excel-táblázatba (3 gyors trükk)
Példa konkrét adatok kivonására a PDF-ből az Excel-be a VBA használatával
Láttuk, hogyan lehet lépésről lépésre adatokat kinyerni egy PDF fájlt egy Excel munkalapra a VBA .
Ezért a teljes VBA kód az adatok kinyeréséhez a PDF nevű fájl standardnormaltable a címre. Sheet1 lesz:
⧭ VBA-kód:
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
⧭ Kimenet:
Futtassuk ezt a kódot. És az adatokat átmásolja a PDF nevű fájl "standardnormaltable" a következő munkalapra "Sheet1" az aktív munkafüzetben.
Bővebben: Hogyan lehet több PDF-fájlból kivonatolni az adatokat az Excel-be (3 megfelelő mód)
Emlékezetes dolgok
- Az a munkafüzet, amelybe az adatokat másolni fogja a PDF fájlt a kód futtatása közben nyitva kell tartani. Ellenkező esetben a kódban a munkafüzet nevét kell használnia.
- Az alkalmazás neve, amelyet a kódon belül használ ( Adobe Acrobat DC itt) telepítve kell lennie a számítógépén, különben hibaüzenetet kap.
- Nagy adathalmazok esetén PDF fájlokat, a folyamat eltarthat egy ideig, amíg az összes adatot átmásolja és beilleszti. Legyen türelmes, és várjon, amíg a folyamat sikeresen befejeződik.
Következtetés
Ez tehát az a folyamat, amelynek során néhány konkrét adatot nyerünk ki egy PDF fájlt egy Excel munkalapra a VBA Van bármilyen kérdése? Nyugodtan kérdezzen minket. És ne felejtse el meglátogatni oldalunkat. ExcelWIKI további posztokért és frissítésekért.