PDF genereren vanuit VBA

Status
Niet open voor verdere reacties.

erwin71

Gebruiker
Lid geworden
8 apr 2012
Berichten
19
Leden,

Ik kan vanuit excel een PDF laten genereren op een bureaublad. Maar als ik het gegenereerd heb en die PDF staat open, krijg ik een foutmelding indien ik opnieuw genereer.
M.a.w. kan ik het zo laten opslaan dat indien er al een bestand met dezelfde naam bestaat, dat er een (1) achter het bestandnaam komt?

Dit is de code dat ik heb

Code:
Sheets(Array("Voorblad", "Samenvatting")).Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        CreateObject("Wscript.Shell").specialfolders(10) & "\" & "KostenBaten.pdf" _
        , Quality:=xlQualityStandard, OpenAfterPublish:=True

Bedankt!
 
Laatst bewerkt door een moderator:
Ik zou persoonlijk werken met On Error Resume Next, m.a.w. afvangen of er een error is.
In het algemeen zouden er meerdere error's kunnen optreden. Ga na welke error optreedt die jij wil afvangen.

Via Err.Number kan je dan testen op de error die zich voordoet. Als dat nummer overeenkomt met het nummer dat je test, maak dan een loop.
Hierbij kan je gaan loopen totdat die bewust error zich niet meer voordoet, door telkens de filename aan te passen met een suffix.
 
Wigi, bedankt voor je antwoord, maar aangezien ik een beginner ben snap ik er niet zo heel veel van :(.

Kan je het eens in code formuleren? Want als ik On Error Resume Next ingeef, waarbij ik zeg dat er een MsgBox moet verschijnen, verschijnt deze ook als er geen Error plaatsvindt..

Bedankt!
 
Code:
Sub test()
    
    On Error Resume Next
    
    Do
    
        Sheets(Array("Voorblad", "Samenvatting")).Select
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            CreateObject("Wscript.Shell").specialfolders(10) & "\" & "KostenBaten.pdf" _
            , Quality:=xlQualityStandard, OpenAfterPublish:=True
        
    Loop While Err.Number <> 0 'of een ander getal/foutcode waarop je test

End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan