Risultati da 1 a 18 di 18

Discussione: Importa dati da PDF



  1. #1
    L'avatar di Ghibly69
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Roma
    Età
    48
    Messaggi
    64
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    2

    Importa dati da PDF

    Salve , ho trovato questa macro in rete che in teoria estrae dati dal pdf e li porta su foglio excel.
    Io non sono in grado di leggerla per vedere se è fatta bene e non riesco a provarla perchè mi manca

    'Other Requirement(s): 'Acrobat' Checked in VBA Tools-References
    'Reference Renames Itself 'Adobe Acrobat 9.0 Object Library' After Reference Is Saved

    che in ogni caso non trovo in riferimenti del VBA

    Spero che qualcuno sappia darmi una spiegazione o aiuto.
    Grazie

    Codice: 
    Sub ImportPDFFileData()
    'Author: Steve Lipsman
    'Purpose: Import PDF File Data Into Excel Worksheet
    'Other Requirement(s): 'Acrobat' Checked in VBA Tools-References
    'Reference Renames Itself 'Adobe Acrobat 9.0 Object Library' After Reference Is Saved
    
    'Declare Variable(s)
    Dim appAA As Acrobat.CAcroApp, docPDF As Acrobat.CAcroPDDoc
    Dim strFileName As String, intNOP As Integer, arrI As Variant
    Dim intC As Integer, intR As Integer, intBeg As Integer, intEnd As Integer
    
    'Initialize Variables
    Set appAA = CreateObject("AcroExch.App"): Set docPDF = CreateObject("AcroExch.PDDoc")
    
    'Set PDF FileName
    strFileName = "Your Full PDF File Pathname Here.pdf"
    
    'Read PDF File
    docPDF.Open (strFileName)
    
    'Extract Number of Pages From PDF File
    intNOP = docPDF.GetNumPages
    
    'Select First Data Cell
    Range("A1").Select
    
    'Open PDF File
    ActiveWorkbook.FollowHyperlink strFileName, , True
    
    'Loop Through All PDF File Pages
    For intC = 1 To intNOP
    'Go To Page Number
    SendKeys ("+^n" & intC & "{ENTER}")
    
    'Select All Data In The PDF File's Active Page
    SendKeys ("^a"), True
    
    'Right-Click Mouse
    SendKeys ("+{F10}"), True
    
    'Copy Data As Table
    SendKeys ("c"), True
    
    'Minimize Adobe Window
    SendKeys ("%n"), True
    
    'Paste Data In This Workbook's Worksheet
    ActiveSheet.Paste
    
    'Select Next Paste Cell
    Range("A" & Range("A1").SpecialCells(xlLastCell).Row + 2).Select
    
    'Maximize Adobe Window
    SendKeys ("%x")
    Next intC
    
    'Close Adobe File and Window
    SendKeys ("^w"), True
    
    'Empty Object Variables
    Set appAA = Nothing: Set docPDF = Nothing
    
    'Select First Cell
    Range("A1").Select
    End Sub

  2. #2

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2801
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    977
    Per poter funzionare devi avere installato sul PC Adobe Acrobat e in VBA/Strumenti/Riferimenti... comparirà la libreria "Acrobat".
    La macro non l'ho provata ma sembra fare un copia incolla (scorciatoie da tastiera con SenKeys) di ogni pagina del file .pdf, naturalmente il file .pdf deve essere con testo riconosciuto (OCR e non scansione da scanner).

  3. #3
    L'avatar di Ghibly69
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Roma
    Età
    48
    Messaggi
    64
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    2
    Citazione Originariamente Scritto da Rubik72 Visualizza Messaggio
    Per poter funzionare devi avere installato sul PC Adobe Acrobat e in VBA/Strumenti/Riferimenti... comparirà la libreria "Acrobat".
    La macro non l'ho provata ma sembra fare un copia incolla (scorciatoie da tastiera con SenKeys) di ogni pagina del file .pdf, naturalmente il file .pdf deve essere con testo riconosciuto (OCR e non scansione da scanner).
    Ciao Rubik, grazie della risposta, deduco allora che con adobe reader DC non funzioni....
    In riferimenti ci sono delle voci acrobat che ho selezionato, ma non servono al mio caso.

    Però non capisco, VBA permette di salvare in PDF ma non di ricaricare il file per aggiungere o modificare , che è quello che serve a me!
    Che tu sappia esiste un modo alternativo di ricaricare il PDF in excel senza per forza comprare Adobe ?

  4. #4
    L'avatar di zio_tom
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Veneto
    Messaggi
    525
    Versione Office
    2010 - Win10
    Likes ricevuti
    63
    Likes dati
    17
    Usando Nitro pro 10, c'è la possibilità di esportare in Word ed Excel, costa meno che metà di Acrobat e si può scaricare in prova ...... e poi volendo si trova su Emule oppure torrent
    Con Acrobat DC, in VBA ho:
    -Acrobat
    -Acrobat Access 3.0 Type Library
    -Acrobat Distiller
    -Acrobat Scan 1.0 Type Library
    -Acrobat WebCapture 1.0 Type Library
    -Acrobat WebCapture IE Toolbar 1.0 Type Library

    PS: un conto è salvare in un formato, un conto è modificarlo...

  5. #5

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2801
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    977
    Tempo fa ho lavorato su un progetto per leggere ed importare da PDF tramite un piccolo programma in DOS (da comandare tramite comandi batch). Lo cerco e lo posto

    Inviato dal mio Nexus 7 utilizzando Tapatalk

  6. #6
    L'avatar di zio_tom
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Veneto
    Messaggi
    525
    Versione Office
    2010 - Win10
    Likes ricevuti
    63
    Likes dati
    17
    Leggendo qua e la
    1) bisogna avere installato la versione PRO di Acrobat
    2) nel registro dovrebbero esserci:
    HKEY_CLASSES_ROOT\AcroExch.App
    HKEY_CLASSES_ROOT\AcroExch.App.1
    HKEY_CLASSES_ROOT\AcroExch.AVDoc
    HKEY_CLASSES_ROOT\AcroExch.Document
    3) dopo aver attivate le librerie in VBA
    4) la routine va in esecuzione
    5) ma mi va in errore Acrobat Dc
    6) la routine in questione è vecchia, e fa riferimento alla versione 6 di Acrobat
    7) per compatibilità verso il basso dovrebbe funzionare
    8) sembrerebbe che non tutti i files siano compatibili
    .......

  7. #7

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2801
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    977
    Ho trovato il file e l'ho modificato secondo le tue necessità, è un metodo spartano ma funziona (a me ha risolto un sacco di problemi).
    Il file, come dicevo prima, si appoggia su un programma DOS esterno chiamato pdftotxt.exe e viene gestito da dei comandi batch
    Codice: 
    Option Explicit
    
    
    Sub Main()
    Dim myFile As String
    
    
    ChDir ThisWorkbook.Path
    myFile = Application.GetOpenFilename("File di testo,*.pdf", , "Apri file PDF")
    If myFile = "Falso" Then
        MsgBox "File non corretto" & vbLf & "Selezionare un file valido", vbCritical + vbOKOnly, "Attenzione"
        Exit Sub
    End If
    
    
    Call ConvertTxt(myFile)
    Do Until Dir(ThisWorkbook.Path & "\ConvertPdfToTxt.bat") = ""
        DoEvents
    Loop
    
    
    Call LetturaPdf(myFile)
    End Sub
    
    
    Sub ConvertTxt(myFile As String) 'Crea ed Esegue Convert.bat (Macro1)
    
    
    Dim NomeFile As String
    Dim FileSystemObj
    Dim TextStreamFileObj
      
        NomeFile = ThisWorkbook.Path & "\ConvertPdfToTxt.bat"
        Set FileSystemObj = CreateObject("Scripting.FileSystemObject")
        Set TextStreamFileObj = FileSystemObj.CreateTextFile(NomeFile, True)
    
    
        ChDir ThisWorkbook.Path
    
    
        TextStreamFileObj.writeline ("cd\")
        
        TextStreamFileObj.writeline ("cd " & ThisWorkbook.Path)
    
    
        TextStreamFileObj.writeline ("pdftotxt.exe " & Chr(34) & myFile & Chr(34) & " Import.txt")
    
    
        TextStreamFileObj.writeline ("del " & Chr(34) & "ConvertPdfToTxt.bat" & Chr(34))
    
    
        Set FileSystemObj = Nothing
        Set TextStreamFileObj = Nothing
        
        Dim RetVal
        RetVal = Shell(NomeFile, 3)   ' Esegue il file batch
    
    
    End Sub
    
    
    Sub LetturaPdf(myFilePdf As String)
    
    
    Dim myFileTxt As String
    Dim Stringa As String
    Dim iRow As Integer
    
    
    myFileTxt = ThisWorkbook.Path & "\Import.txt"
        
    Foglio1.Range("A1").Columns(1).ClearContents
    
    
    iRow = 1
    Open myFileTxt For Input As #1
    Do Until (EOF(1))
        Input #1, Stringa
        Cells(iRow, 1) = Stringa
        iRow = iRow + 1
    Loop
    
    
    Close #1
    End Sub
    File Allegati File Allegati

  8. I seguenti utenti hanno dato un "Like"


  9. #8
    L'avatar di TuttoExcel
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Milano
    Età
    43
    Messaggi
    82
    Versione Office
    Excel 2013
    Likes ricevuti
    19
    Likes dati
    3
    Ciao,
    con VBA non saprei proprio come fare un'importazione corretta. Però suggerisco anche io un tool che ho avuto occasione di provare (e poi acquistare) per risolvere il problema, costa ancora meno di Nitro e funziona veramente bene.

    Se vuoi leggere la mia recensione di quando l'ho provato la trovi qui, puoi scaricare la versione di prova 7 gg, non ti permette di convertire più di 3 pagine alla volta ma per il resto è completa.

    Spero ti sia utile
    Condividi la tua conoscenza. E’ un modo per raggiungere l’immortalità. (Dalai Lama)
    Amministratore di www.tuttoexcel.it

  10. #9
    L'avatar di Ghibly69
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Roma
    Età
    48
    Messaggi
    64
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    2
    Salve TuttoExcel, è una soluzine valida che terrò in considerazione nel caso non riesca a trovare soluzione con codice VBA.
    grazie comunque.

  11. #10
    L'avatar di Ghibly69
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Roma
    Età
    48
    Messaggi
    64
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    2
    Ciao Rubrik
    come funziona il tutto?
    1) il codice che hai scritto, che userò in un pulsante apposito, sostituisce quello del .Rar?
    2) pdftotxt me lo blocca winzozz 10, ma si risolve.
    3) converte il pdf in txt e poi lo importa in excel?
    attualmente apre la scheda di scelta file, scelgo il pdf, ma poi non fa niente.

    dove sbaglio?

  12. #11

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2801
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    977
    Esatto, converte il file pdf in txt, lo apre, e scrive riga per riga.
    Ti crea il file import.txt?
    Prova ad avviarlo passo passo (F8) per vedere dove non funziona.

    Inviato dal mio GT-I9301I utilizzando Tapatalk

  13. #12
    L'avatar di Ghibly69
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Roma
    Età
    48
    Messaggi
    64
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    2
    Citazione Originariamente Scritto da Rubik72 Visualizza Messaggio
    Ti crea il file import.txt?
    Prova ad avviarlo passo passo (F8) per vedere dove non funziona.

    Inviato dal mio GT-I9301I utilizzando Tapatalk
    ora provo F8
    dove lo inserisce il file.txt che crea?

    ----------------------------------------------------------
    ok ora so come funziona,
    il file viene creato dal .bat (nel mio caso in desktop) e poi clikkandoci lo porta nel foglio excel che hai attivo e cancella il file .txt creato all'occasione.

    è un buon modo per importare pdf, se solo si potesse risolvere il problema dell'incolonnamento.
    grazie Rubik

  14. #13
    ProgrammD69
    Ospite L'avatar di ProgrammD69

    Re: Importa dati da PDF

    Tiro su questa discussione, perché mi interessa l'argomento.
    Vorrei importare in un foglio Excel una serie di dati incolonnati in una tabella e con una intestazione.

    Nella scheda Sviluppo - Visual Basic - Strumenti - Riferimenti = ho le seguenti librerie:
    1. Adobe Acrobat 7.0 Browser Control Type Library 1.0
    2. Adobe Reader File Preview Type Library

    Bastano queste per gestire l'importazione dati dal PDF ad Excel ?

    Come programma PDF ho Adobe Acrobat Reader DC.

    In questa discussione ci sono tante indicazioni, ma non essendo un esperto, prima di provare vorrei comunque più info.

  15. #14
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1098
    Versione Office
    2010
    Likes ricevuti
    141
    Likes dati
    1

    Re: Importa dati da PDF

    Ho provato la soluzione di Rubik72 e funziona perfettamente, ho modificato soltanto la riga
    Codice: 
        TextStreamFileObj.writeline ("pdftotxt.exe " & Chr(34) & myFile & Chr(34) & " Import.txt")
    in
    Codice: 
        TextStreamFileObj.writeline ("C:\prog\pdftotxt.exe " & Chr(34) & myFile & Chr(34) & " Import.txt")
    perché ho messo l'eseguibile nella cartella C:\prog

  16. #15
    ProgrammD69
    Ospite L'avatar di ProgrammD69

    Re: Importa dati da PDF

    In un foglio di lavoro di Excel ho:
    A1 il Codice partita
    B1 il Nome partita
    C1 le Mosse B
    D1 le Mosse N

    nelle righe sotto (A2, B2, C2, D2 e seguenti) voglio che siano importati i dati di un foglio PDF (che allego; io giocavo con il bianco).
    Si può fare ?
    File Allegati File Allegati

  17. #16
    L'avatar di robynud
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Gardone Val Trompia
    Età
    45
    Messaggi
    155
    Versione Office
    Office 2016
    Likes ricevuti
    24
    Likes dati
    65

    Re: Importa dati da PDF

    scusate raga forse non ho capito bene le varie domande, ma avete provato ad aprirlo con word e salvarlo nel formato docs?

  18. #17

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2801
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    977

    Re: Importa dati da PDF

    Crea una nuova discussione, non accodarti a una vecchia

    Inviato dal mio GT-I9301I utilizzando Tapatalk

  19. #18
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1098
    Versione Office
    2010
    Likes ricevuti
    141
    Likes dati
    1

    Re: Importa dati da PDF

    Rubik, secondo me sarebbe da mettere in evidenza, è un problema richiesto molto spesso.

Discussioni Simili

  1. [Risolto] Velocizzare una macro che importa dati per 20 fogli
    Di Catwoman nel forum Domande su Excel VBA e MACRO
    Risposte: 20
    Ultimo Messaggio: 28/12/16, 20:54
  2. Importa dati da Web formattazione data
    Di Allocco nel forum Domande su Excel VBA e MACRO
    Risposte: 5
    Ultimo Messaggio: 06/11/16, 12:30
  3. [Risolto] Excel 2007, Formule, cerca matrice nella col. I ed importa dato della col. J
    Di Pier Paolo nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 15/01/16, 14:59

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •