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

Meerdere Excel sheets (in bepaalde volgorde) exporteren als PDF

  • Onderwerp starter Onderwerp starter TJ86
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

TJ86

Gebruiker
Lid geworden
28 sep 2014
Berichten
127
Goedemorgen,

ik ben op zoek naar een Macro welke vanuit een Excel-bestand één PDF bestand creëert van meerdere tabbladen.
Deze tabbladen moeten in een bepaalde volgorde in het PDF bestand komen. Als eerste dient het tabblad genaamd 'Brief', als tweede 'Totaaloverzicht' en als derde 'calculatieblad'.

De tabbladen staan momenteel door elkaar.

Ook dient een dialoogvenster te verschijnen waar wordt gevraagd voor de bestandsnaam en waar het bestand opgeslagen dient te worden.

Ik heb op internet gekeken maar kan helaas niet vinden wat ik zoek.

Alvast bedankt voor de hulp
 
zo iets dan.

Code:
Sub ExportToPDF()

Dim WSarray() As Variant
Dim File As String


File = InputBox("Geef bestandsnaam")

If Right(File, 4) <> ".pdf" Then File = File & ".pdf"
File = ActiveWorkbook.Path & "\" & File

WSarray = Array("Brief", "TotaalOverzicht", "calculatieblad")
Sheets(WSarray).Select

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, filename:=File, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

End Sub

voorwaarde is wel dat je dan handmatig de werkbladen in de juiste volgorde gezet hebt.
(en dat ze niet verborgen zijn)
 
Hi, dit werkt perfect.. echter.. er komt nu een dialoogvenster om de bestandnaam op te geven en verder niets. De bedoeling was eigenlijk dat het standaard 'Opslaan als..' venster te voorschijn komt waar gevraagd wordt WAAR het bestand opgeslagen moet worden en wat de bestandsnaam moet worden.. kan dat ook ?
 
"en verder niets"... het bestand wordt opgeslagen in dezelfde map als het Excel document.


vervang
PHP:
File = InputBox("Geef bestandsnaam")
door

Code:
File = Application.GetSaveAsFilename(FileFilter:= _
                 "PDF Files (*.pdf), *.pdf", Title:="Save as", _
                InitialFileName:="C:\")

"C:" kan je nog aanpassen naar een pad van jouw keuze
 
Ik krijg nu een foutmelding op de rege

Code:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=File, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

"Fout 1004 tijdens de uitvoering: Door de toepassing of door object gedefinieerde fout".

Deze code gebruik ik nu :

Code:
Sub ExportPdf()

Dim WSarray() As Variant
Dim File As String


File = Application.GetSaveAsFilename(FileFilter:= _
                 "PDF Files (*.pdf), *.pdf", Title:="Save as", _
                InitialFileName:="N:\")

If Right(File, 4) <> ".pdf" Then File = File & ".pdf"
File = ActiveWorkbook.path & "\" & File

WSarray = Array("Brief", "TotaalOverzicht", "calculatieblad")
Sheets(WSarray).Select

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=File, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

End Sub
 
Sorry,

deze regel moest er nog uit
PHP:
 File = ActiveWorkbook.path & "\" & File
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan