Spis treści
Jednym z częstych problemów, z jakimi większość z nas spotyka się na co dzień, jest to, jak wyodrębnić pewne konkretne dane z PDF do arkusza Excela za pomocą VBA W tym artykule pokażę Ci jak to wygodnie osiągnąć na odpowiednich przykładach i ilustracjach.
Wyciąganie określonych danych z PDF do Excela za pomocą VBA (szybki podgląd)
Sub Extract_Data_from_PDF() Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program Files\Adobe\Acrobat.exe" PDF_Path = "E:\ExcelWIKI\Normaltable.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
Pobierz Zeszyt ćwiczeń
Pobierz ten zeszyt ćwiczeń, aby ćwiczyć podczas czytania tego artykułu.
Wyodrębnij dane z PDF.xlsmPrzegląd wyodrębniania określonych danych z PDF do Excela za pomocą VBA (analiza krok po kroku)
Tak więc, bez dalszej zwłoki, przejdźmy do naszej dzisiejszej głównej dyskusji.Mamy tu m.in. PDF plik o nazwie standardowa tabela norm.pdf która zawiera tabelę rozkładu normalnego.
Otworzyliśmy arkusz o nazwie Plansza1. w skoroszycie Excela, gdzie skopiujemy dane z PDF akta.
Teraz pokażę, że można skopiować dane z PDF plik do arkusza Excel poprzez analizę krok po kroku.
⧪ Krok 1: Deklarowanie niezbędnych danych wejściowych
Przede wszystkim należy zadeklarować niezbędne dane wejściowe. Należą do nich: nazwa arkusza, zakres komórek, lokalizacja aplikacji, przez którą PDF plik zostanie otwarty ( Adobe Reader w tym przykładzie), oraz lokalizację PDF akta.
Set MyWorksheet = ActiveWorkbook.Worksheets("Arkusz1") Application_Path = "C:\Program Files\Acrobat DC\Acrobat.exe" PDF_Path = "E:\ExcelWIKI\NNormaltable"
⧪ Krok 2: Otwieranie pliku PDF (za pomocą polecenia powłoki VBA)
Następnie musimy wywołać VBA Funkcja powłoki aby otworzyć PDF akta.
Shell_Path = Application_Path & " "" & PDF_Path & """" Call Shell(pathname:=Shell_Path, windowstyle:=vbNormalFocus)
⧪ Krok 3 (opcjonalny): Odczekanie kilku chwil
Jest to opcjonalne, ale gdy masz długą serię zadań, lepiej poczekać kilka chwil, aby komputer mógł pomyślnie zakończyć wcześniejsze zadanie i rozpocząć nowe.
Aplikacja.Czekaj Teraz + TimeValue("0:00:03")
Tutaj czekamy na 30 sekund, ale jeśli chcesz, możesz poczekać dłużej.
⧪ Krok 4: Użycie SendKeys do skopiowania danych z pliku PDF
To chyba najważniejsze zadanie, będziemy używać 3 SendKeys:
- ALT + V, P, C: Służy to głównie do umożliwienia przewijania w PDF Dla małych plików nie jest to konieczne, ale dla większych plików staje się to konieczne do wybrania całego pliku.
- CTRL + A: Służy do wyboru całego pliku.
- CTRL + C : Do kopiowania wybranego pliku.
W związku z tym linie kodu będą:
SendKeys "%vpc" SendKeys "^a" SendKeys "^c"
⧪ Krok 5: Wklejanie danych do pliku Excela
Otworzyliśmy konkretną PDF Teraz musimy wkleić te dane do wybranego zakresu arkusza.
MyWorksheet.Range("A1").WklejanieSpecjalne wklejanie:=xlPasteAll
Tutaj wkleiłem komórkę A1 arkusza, oczywiście możesz go wkleić gdziekolwiek indziej zgodnie ze swoim życzeniem.
⧪ Krok 6 (opcjonalny): Zamknięcie pliku PDF (zakończenie aplikacji)
Na koniec, po zakończeniu ekstrakcji danych lepiej zamknąć uruchomiony program.
Call Shell("TaskKill /F /IM Acrobat.exe", vbHide)
Read More: Jak wyodrębnić dane z PDF do Excela (4 odpowiednie sposoby)
Podobne lektury
- Jak wyeksportować dane z wypełnialnego PDF do Excela (szybkie kroki)
- Jak wyeksportować komentarze PDF do arkusza kalkulacyjnego Excel (3 szybkie sztuczki)
Przykład ekstrakcji określonych danych z PDF do Excela przy użyciu VBA
Widzieliśmy już procedurę krok po kroku, jak wyodrębnić dane z PDF do arkusza Excela za pomocą VBA .
W związku z tym kompletne VBA kod do wyodrębnienia danych z PDF plik o nazwie standardowy słownik do Plansza1. będzie:
⧭ VBA Kod:
Sub Extract_Data_from_PDF() Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program Files\Adobe\Acrobat DC\Acrobat.exe" PDF_Path = "E:\ExcelWIKI\Normaltable.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
⧭ Wyjście:
Uruchom ten kod, a on skopiuje dane z PDF plik o nazwie "standardnormaltable" do arkusza o nazwie "Arkusz1" w aktywnym skoroszycie.
Read More: Jak wyodrębnić dane z wielu plików PDF do programu Excel (3 odpowiednie sposoby)
Rzeczy do zapamiętania
- Skoroszyt, do którego skopiujesz dane z PDF Plik musi być otwarty podczas uruchamiania kodu, w przeciwnym razie będziesz musiał użyć nazwy skoroszytu w kodzie.
- Nazwa aplikacji, której używasz wewnątrz kodu ( Adobe Acrobat DC tutaj) musi być zainstalowany na komputerze, w przeciwnym razie otrzymasz błąd.
- Dla dużych zbiorów danych o PDF plików, proces może zająć trochę czasu, aby skopiować wszystkie dane i wkleić. Więc bądź cierpliwy i poczekaj, aż proces zakończy się pomyślnie.
Wniosek
Jest to zatem proces polegający na wyodrębnieniu pewnych określonych danych z PDF do arkusza Excela za pomocą VBA Masz jakieś pytania, możesz nas zapytać i nie zapomnij odwiedzić naszej strony. ExcelWIKI po więcej postów i aktualizacji.