Opslaan als PDF
Als je vaak bestanden opslaat als PDF, dan is deze macro echt iets voor jou.
Het slaat bestanden op in het juiste formaat in een vooraf opgegeven map met een druk op de knop.
Vooraf is het handig om te weten hoe je het Ontwikkelaars tabblad krijgt en hoe je een macro toevoegt.

Opslaan als PDF
Open de VB editor, ALT + F11, en maak een nieuwe Module aan.
Sub PDF()
Dim FacName As String
FacName = ActiveSheet.Range("C2").Value
If Dir("C:\Users\Nick\Desktop\" & FacName & ".pdf") <> "" Then
MsgBox "Het bestand: " & FacName & ".pdf bestaat reeds"
Exit Sub
Else
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\Nick\Desktop\" & FacName & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=True
End If
End Sub
Nu slaat hij het bestand op met de naam die is opgegeven in cel A1.
De locatie dien je nog wel te wijzigen naar je eigen wens.
Let op: er zijn 2 locaties die hetzelfde moeten zijn!
De 1ste locatie kijkt of de bestandsnaam al in gebruik is, mocht dit niet zijn dan slaat hij hem op op de 2de locatie.
We maken voor het gemak even een ActiveX besturingselement aan.
Open op het lint het tabblad Ontwikkelaars, selecteer hier de optie Invoegen en kies voor knop.
Koppel hier de zojuist aangemaakte module aan.
Je kan het bestand ook opslaan met een andere extensie dan PDF hiervoor moet je de code een klein beetje aanpassen.
Geweldig deze formule! Werkte perfect toen ik het uitprobeerde in windows. Nu wil ik deze macro gaan gebruiken op mijn iMac. Helaas accepteert hij de filepath niet. De harde schijf naam van de iMac is MacintoshHD, hierbij krijg ik steeds een foutmelding. Hebben jullie een oplossing hiervoor?
Hoi Loes,
Ik kan het zelf niet testen omdat ik geen mac bezit, maar zou je dit kunnen proberen en laten weten of het lukt?
Sub PDFopslaanMAC()
FacName = ActiveSheet.Range("C2").Value
ChDir "/Users/Desktop/PDFopslaan/"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
"/Users/Desktop/PDFopslaan/" & FacName & ".pdf", Quality:=xlQualityMinimum _
, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
End Sub
Scheidingsteken bij imac is een : , dus macintosh HD:Users:….
Beste Nick,
Geweldige Module! Deze wil ik zeker vaak gaan gebruiken.
Mijn enige probleem is dat mijn PDFjes uit 2 pagina`s moeten bestaan en de module pakt alleen de eerste pagina van het afdrukbereik.
Kan je mij hiermee helpen?
Met vriendelijke groet,
Axel
De 3de regel van onder.
From:=1, To:=1, OpenAfterPublish:=True
Maak hier
From:=1, To:=2, OpenAfterPublish:=True
van, of bij meer pagina’s de 2 ophogen
Deze lijkt wel op wat ik wil maken. alleen wil ik mijn bestand niet opslaan als PDF maar gewoon als XLS-file. Is dit ook mogelijk?
Hoi,
Kun je mij helpen met het volgende.
Ik wil graag per regel uit een tabblad een aparte pdf opslaan. In kolom a staat het nummer dat kan dienen als bestand naam. Maar als er geen waarde meer staat in de onderste cel van mijn tabel wil ik dat ie stopt. Snap je wat ik bedoel. Uiteindelijk verwacht ik zo’n 170 pdfjes te maken. Alvast bedankt Usnach
Dag Joost,
Wat een geweldenaar ben je toch… het is soms zo simpel maar ook zo lastig om het voor elkaar te krijgen…
Kleine uitdaging voor je…
Heb een order-excel gemaakt met 5 kolommen, nu wil ik dat die door middel van 2 knoppen, verwerkt wordt.
1. de knop “opslaan” zodat de klant zijn order, direct als pdf op zijn computer heeft staan.. (dit is reeds door jouw input gelukt)
2. een verzendknop (deels gelukt) met daarin ook een “CC” (is voor de leverancier) waarbij ik slechts 3 kolommen door gemaild wil hebben van de excel file. (hier staan namelijk de bedragen in voor de klant maar zijn niet noodzakelijk voor de leverancier van deze goederen)
Hoop op jouw briljante oplossing.
Veel dank alvast.
Beste Joost,
of iemand anders
De formule werkt prima. Opslaan als pdf en openen als pdf. Ideaal !!
Maar de map moet wel al bestaan. Kan er een formule aan toegevoegd worden waarmee je de map, als deze nog niet bestaat, ook nog toegevoegd kan worden alvorens dit opgeslagen wordt?
Alvast erg bedankt !
Dag Nick,
Super bedankt voor je hulp, werkt prima! het enige waar ik last van heb, is dat ie mijn excel document sluit wanneer ik op opslaan druk. althans, mijn excel bestaand wordt helemaal grijs en ik moet hem dan opnieuw opstarten. ligt dat aan mijn laptop of kan ik dat verhelpen?
krijg een foutmelding bij opslaan; ken er niets van kan iemand mij verder helpen aub
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=”C:\Users\toycr\ondrive\glenn\offertes” & FacName &
“.pdf”, Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=True