• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

PDF importeren in Excel middels macro

Status
Niet open voor verdere reacties.

Instel

Gebruiker
Lid geworden
6 jan 2021
Berichten
61
Hoi allemaal,

Ik probeer om een PDF automatisch in Excel te laten importeren, ik heb onderstaande VBA code hiervoor gevonden maar dat krijg ik niet werkend. Iemand enig idee wat ik hier aan kan aanpassen om het werkend te krijgen?

Code:
Sub BackToA1()
Range("A1").Select
End Sub

Sub GetPDFnow()
Dim varRetVal As Variant, strFullyPathedFileName As String, strDoIt As String
'Add a new worksheet
Sheets.Add After:=Sheets(Sheets.Count)
'Name it
ActiveSheet.Name = "Input01"
'Back to "A1"
Range("A1").Activate
'HERE YOU DEFINE THE FULLY PATHED PDF FILE
strFullyPathedFileName = "C:\Users\INSTEL\DATA\Documenten\Excel naar PDF\PDF2.pdf"
'HERE YOU SET UP THE SHELL COMMAND
strDoIt = "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" & strFullyPathedFileName
'The Shell command
varRetVal = Shell(strDoIt, 1)
'Clear CutCopyMode
Application.CutCopyMode = False
AppActivate varRetVal
'Wait some time
Application.Wait Now + TimeValue("00:00:03") ' wait 3 seconds
DoEvents
'IN ACROBAT :
'SELECT ALL
SendKeys "^a"
'COPY
SendKeys "^c"
'EXIT (Close & Exit)
SendKeys "^q"
'Wait some time
Application.Wait Now + TimeValue("00:00:03") ' wait 3 seconds
DoEvents
'Paste
ActiveSheet.Paste
'Go back to cell A1
Call BackToA1
End Sub
 
Zo te zien probeer je niet zozeer een PDF te importeren (ik vroeg me al af waarom), maar de inhoud daarvan te kopiëren/plakken met deze macro. Weet je zeker dat de opmaak van de PDF juist is? Bestaat de inhoud werkelijk uit een kopieerbare tekenset, en is het niet stiekem een afbeelding?

Je zou ook even kunnen controleren met waar voor PDF je werkelijk te maken hebt, want hoewel PDF standaard lijkt, is ook dat een zgn "containerformaat".
Dat is net zoals bijvoorbeeld het begrip " auto". Een racewagen is een auto, maar een bestelbus, een oldtimer en een vrachtwagen ook. PDF kent ook een aantal standaarden, en die kunnen je nekken bij dit soort acties. Je hebt het meest kans op succes met een PDF/A. Zie ook hier: https://nl.wikipedia.org/wiki/Portable_document_format
 
Ook nu is Power Query de oplossing! Gegevens > Ophalen > Uit bestand > Uit pdf.
 
Hoi Madmuppet,

Klopt inderdaad, het gaat om de inhoud van de PDF. Ik kan de inhoud op dit moment kopiëren en plakken naar Word met precies dezelfde opmaak, het gaat dus om een kopieerbare tekenset.
 
Hoi Pixcel,

Kijk is, dat is inderdaad heel handig. Heb jij enig idee of ik dit kan automatiseren. Bijvoorbeeld dat de PDF die elke dag via de mail binnenkomt automatisch wordt opgeslagen in een map en dat de query het nieuwste bestand elke dag inleest?
 
Ook nu is Power Query de oplossing! Gegevens > Ophalen > Uit bestand > Uit pdf.
dit is misschien inbreken, maar ik begrijp dit niet.
Hoe zou dat kunnen werken in excel2013 ? Vooral >uit bestand>uit PDF
 
Hoe zou dat kunnen werken in excel2013 ? Vooral >uit bestand>uit PDF
Niet. Power Query for Excel 2010/2013 is een aparte addin die (sinds 2018?) niet meer wordt geupdate. De PDF connector is er nu pakweg twee jaar.
Vanaf Excel 2016 is Power Query geintegreerd met het excel objectmodel en zijn de query's via vba te manipuleren (WorkbookQuery en Queries objecten op Workbook niveau). Genoeg reden om te upgraden, lijkt me ;)
 
Heb jij enig idee of ik dit kan automatiseren. Bijvoorbeeld dat de PDF die elke dag via de mail binnenkomt automatisch wordt opgeslagen in een map en dat de query het nieuwste bestand elke dag inleest?
Ik denk dat je een heel eind kan komen, en er is vast wel iemand die je daarbij kan helpen. Een goed voorbeeld bestand doet vaak wonderen.
 
In de bijlage heb ik een voorbeeld PDF bestand en zowel het Excel bestand. Opbouw van PDF komt exact overheen met het origineel. Mijn initiële plan was om naast de import van het PDF ook een automatische historie te maken zodra telkens de prijs van de brandstof wordt vernieuwd. Voor nu is dat met een leverancier, in de toekomst misschien meer. De opbouw van de PDF blijft in dit geval hetzelfde.
 

Bijlagen

Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan