Jak wyodrębnić określone dane z PDF do Excela za pomocą VBA

  • Udostępnij To
Hugh West

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.xlsm

Przeglą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.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.