Come estrarre dati specifici da PDF a Excel utilizzando VBA

  • Condividi Questo
Hugh West

Uno dei problemi comuni che la maggior parte di noi affronta nella vita di tutti i giorni è come estrarre alcuni dati specifici da una PDF in un foglio di lavoro di Excel utilizzando VBA In questo articolo vi mostrerò come realizzarlo comodamente con esempi e illustrazioni appropriate.

Estrarre dati specifici da PDF a Excel utilizzando VBA (vista rapida)

 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 

Scarica il quaderno di esercizi

Scaricate questo quaderno di esercizi per esercitarvi durante la lettura di questo articolo.

Estrarre i dati da PDF.xlsm

Panoramica sull'estrazione di dati specifici da PDF a Excel utilizzando VBA (analisi passo-passo)

Senza indugiare oltre, passiamo alla nostra discussione principale di oggi: abbiamo una PDF file chiamato tabella standard.pdf che contiene una tabella della distribuzione normale.

E abbiamo aperto un foglio di lavoro chiamato Foglio1 in una cartella di lavoro Excel in cui copieremo i dati dal file PDF file.

Ora mostrerò che è possibile copiare i dati dal file PDF al foglio di lavoro Excel attraverso un'analisi passo-passo.

⧪ Passo 1: Dichiarare gli ingressi necessari

Prima di tutto, è necessario dichiarare gli input necessari, tra cui il nome del foglio di lavoro, l'intervallo delle celle, la posizione dell'applicazione attraverso la quale si esegue il PDF verrà aperto ( Adobe Reader in questo esempio), e la posizione del file PDF file.

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

⧪ Fase 2: apertura del file PDF (utilizzando il comando della shell VBA)

Successivamente, dobbiamo chiamare il metodo VBA Funzione shell per aprire il PDF file.

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

⧪ Fase 3 (facoltativa): attesa di qualche istante

Questa opzione è facoltativa, ma quando si ha una lunga serie di attività, è meglio attendere qualche istante per consentire al computer di terminare con successo l'attività precedente e avviare una nuova attività.

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

Qui aspettiamo 30 secondi, ma se volete potete aspettare di più.

⧪ Passo 4: utilizzo di SendKeys per copiare i dati dal file PDF

Questo è probabilmente il compito più importante. Utilizzeremo 3 Inviare i tasti:

  • ALT + V, P, C: Questo serve soprattutto per abilitare lo scorrimento nel file PDF Per i file di piccole dimensioni non è necessario, ma per i file più grandi è necessario selezionare l'intero file.
  • CTRL + A: Serve a selezionare l'intero file.
  • CTRL + C Per copiare il file selezionato.

Pertanto, le righe di codice saranno:

 InviaTasti "%vpc" InviaTasti "^a" InviaTasti "^c" 

⧪ Passo 5: incollare i dati nel file Excel

Abbiamo aperto la specifica PDF Ora dobbiamo incollare i dati nell'intervallo desiderato del foglio di lavoro.

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

Qui ho incollato la cella A1 Naturalmente è possibile incollarlo in qualsiasi altro punto del foglio di lavoro, a seconda delle proprie esigenze.

⧪ Passo 6 (facoltativo): chiusura del file PDF (conclusione dell'applicazione)

Infine, è meglio chiudere il programma in esecuzione una volta terminata l'estrazione dei dati.

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

Per saperne di più: Come estrarre dati da PDF a Excel (4 modi adatti)

Letture simili

  • Come esportare i dati da un PDF compilabile in Excel (con passaggi rapidi)
  • Come esportare i commenti PDF in un foglio di calcolo Excel (3 trucchi rapidi)

Esempio di estrazione di dati specifici da PDF a Excel utilizzando VBA

Abbiamo visto la procedura passo-passo per estrarre i dati da un file PDF in un foglio di lavoro di Excel utilizzando VBA .

Pertanto, l'intero VBA per estrarre i dati dal file PDF file chiamato standardnormaltable a Foglio1 sarà:

Codice VBA:

 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 

Uscita:

Eseguite questo codice, che copierà i dati dal file PDF file chiamato "standardnormaltable" al foglio di lavoro chiamato "Foglio1" nella cartella di lavoro attiva.

Per saperne di più: Come estrarre dati da più file PDF in Excel (3 modi adatti)

Cose da ricordare

  • La cartella di lavoro in cui verranno copiati i dati dal file PDF deve essere mantenuto aperto durante l'esecuzione del codice, altrimenti si dovrà utilizzare il nome della cartella di lavoro nel codice.
  • Il nome dell'applicazione che si sta utilizzando all'interno del codice ( Adobe Acrobat DC qui) deve essere installato sul computer, altrimenti si riceverà un errore.
  • Per grandi insiemi di dati di PDF Il processo potrebbe richiedere un po' di tempo per copiare tutti i dati e incollarli, quindi siate pazienti e aspettate che il processo si concluda con successo.

Conclusione

Pertanto, si tratta di un processo per estrarre alcuni dati specifici da un file PDF in un foglio di lavoro di Excel utilizzando VBA Se avete domande, non esitate a porcele e non dimenticate di visitare il nostro sito. ExcelWIKI per ulteriori post e aggiornamenti.

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.