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

Excel printen naar PDF

Status
Niet open voor verdere reacties.

deheugden

Terugkerende gebruiker
Lid geworden
1 mrt 2006
Berichten
1.088
Ik heb meerdere Excelworkbooks. Wanneer ik deze met de rechtmuisknop vanuit W10 naar pdf print(Heb Adobe XI PRO geinstalleerd), wordt alleen 1 sheet omgezet. Maar, wanneer ik de sheet open en dan print naar pdf, kan ik alle sheets laten printen. Maar, dit laatste is erg arbeidsintensief. Is er een manier om snel alles workbooks met alle sheets te converten?
 
Laatst bewerkt:
Ja, dat is geen probleem.
Staan die Excel documenten in 1 folder?
 
Dan kan het met iets als dit.
Alleen even het pad aanpassen:
Code:
Sub Export2PDF()
    pad = [COLOR="#FF0000"]"C:\Users\deheugden\Documents\"[/COLOR]
    xls = Dir(pad & "*.xls*")
    While xls <> ""
        Set doc = Workbooks.Open(pad & xls)
        doc.ExportAsFixedFormat Type:=xlTypePDF, Filename:=doc.FullName & ".pdf"
        doc.Close False
        xls = Dir()
    Wend
End Sub

Kan allemaal veel mooier en netter maar voor een eenmalige actie is dat voldoende.
 
Laatst bewerkt:
Het beste doe je dat in een nieuw document.
Maakt dan niet uit waar je dat in VBA plaatst maar in een Module is wel de aangewezen plek.
Dan het pad aanpassen en op F5 drukken.
 
Vanaf office 2010/2013 kan men toch in excel de hele werkbladen opslaan als pdf?
 
Je bedoelt werkboeken? Precies wat mijn voorbeeld doet :)
 
Hij werkt super, maar ik zie nog 2 dingetjes. Hij geeft fouten op namen met bijzondere tekens en stopt dan, en , wanneer pdf bestanden al bestaan, dan maakt hij deze opnieuw aan. Is dit nog makkelijk op te lossen?
 
Geef een voorbeeld van zo'n naam.
Het is mogelijk de datum en tijd in de bestandsnaam mee te nemen.

Het is dus niet een eenmalig proces?
 
Vanaf office 2010/2013 kan men toch in excel de hele werkbladen opslaan als pdf?

ja, maar dan moet je hem openen en printen als pdf. Voor 1 of 2 is dat te doen, maar wanneer je er 100 hebt. rechtermuisknop printen naar pdf doet maar 1 sheet, niet alle in het workbook.
 
Dan zou je moeten kijken voor een pdf converter die het kan in batch mode, zoals deze bijvoorbeeld.
 
Je kan er dit van maken voor de uitbreiding van de naam:
Code:
Sub Export2PDF()
    pad = "D:\Helpmij\"
    On Local Error Resume Next
    xls = Dir(pad & "*.xls*")
    While xls <> ""
        Set doc = Workbooks.Open(pad & xls)
        Debug.Print xls
        doc.ExportAsFixedFormat Type:=xlTypePDF, Filename:=doc.FullName & "_" & Format(Now, "dd-mm-yyyy_hh_mm_dd") & ".pdf"
        doc.Close False
        xls = Dir()
    Wend
End Sub

Maar het probleem met die tekens is dat de DIR functie unicode characters niet goed vertaald.
Daar heb ik zo direct geen oplossing voor.
Iemand anders misschien.

Of probeer inderdaad wat jackall zegt.
 
Je kan er dit van maken voor de uitbreiding van de naam:
Code:
Sub Export2PDF()
    pad = "D:\Helpmij\"
    On Local Error Resume Next
    xls = Dir(pad & "*.xls*")
    While xls <> ""
        Set doc = Workbooks.Open(pad & xls)
        Debug.Print xls
        doc.ExportAsFixedFormat Type:=xlTypePDF, Filename:=doc.FullName & "_" & Format(Now, "dd-mm-yyyy_hh_mm_dd") & ".pdf"
        doc.Close False
        xls = Dir()
    Wend
End Sub

Maar het probleem met die tekens is dat de DIR functie unicode characters niet goed vertaald.
Daar heb ik zo direct geen oplossing voor.
Iemand anders misschien.

Of probeer inderdaad wat jackall zegt.

Ik ben al lang blij met deze oplossing, daar ben ik ontzettend mee geholpen
 
Ok dan,
Ik zie wel net pas een tikfoutje.
Dit:
"dd-mm-yyyy_hh_mm_dd"

Moet zo zijn:
"dd-mm-yyyy_hh_mm_ss"
 
Ik heb nu iets vreemds, ik heb de Macro aangemaakt, de vbs daar in gestopt. Wanneer ik de Macro start, krijg ik het printerinstellingenscherm en moet ik de printer kiezen.
 
Dan start je niet de juiste macro.
 
Ja, dat dacht ik dus ook. Maar er zit maar 1 macro in.Dus ik heb een nieuwe Excel aangemaakt en die doet hetzelfde.
 
Welke versie van Excel gebruik je?
Plaats dat documentje hier eens.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan