• 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 - een werkblad opslaan als zowel PDF en XLSM in verschillende mappen met 1 knop

Status
Niet open voor verdere reacties.

Petoi

Gebruiker
Lid geworden
23 aug 2017
Berichten
14
Beste Excel goeroe's,

Ik ben al een geruime tijd aan het snuffelen en verschillende codes geprobeerd maar het lukt mij niet:
Voor ons bedrijf maken wij servicebonnen die de monteurs gebruiken voor hun werkzaamheden. Verkoop binnendienst maakt deze aan.

Er is een gedeelde schijf op de server voor deze bonnen: S:\Servicebonnen 2017\PDF\ en S:\Servicebonnen 2017\XLS\

de huidige code werkt zonder problemen:

Sub Saveas()
Dim sbnaam As String
Dim padnaam As String

padnaam = "S:\Servicebonnen 2017\PDF"
sbnaam = Range("F12")
If sbnaam = "" Then
MsgBox "Gelieve de servicebon volledig in te vullen."
Exit Sub
End
Exit Sub
Else
ActiveWorkbook.Sheets("Servicebon").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=padnaam & sbnaam & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=False, _
IgnorePrintAreas:=False, _
From:=1, _
To:=1, _
OpenAfterPublish:=False
End If
End Sub

Nu wil ik alleen het XLS gedeelte ook implanteren maar dat lukt mij niet... wie kan mij helpen?
 
Probeer het eens zo:
Code:
Sub OpslaanAls()
    Dim sbnaam As String
    Dim padnaam As String
    
    padnaam = "S:\Servicebonnen 2017\PDF\"
    sbnaam = Range("F12")
    If sbnaam = "" Then
        MsgBox "Gelieve de servicebon volledig in te vullen."
        Exit Sub
    End If
    
    ActiveWorkbook.Sheets("Servicebon").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=padnaam & sbnaam & ".pdf", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=False, _
    IgnorePrintAreas:=False, _
    From:=1, _
    To:=1, _
    OpenAfterPublish:=False
    
    padnaam = "S:\Servicebonnen 2017\XLS\"
    ActiveWorkbook.SaveCopyAs padnaam & sbnaam & ".xlsm"
End Sub

N.B.:
- Het is geen implanteren maar implementeren.

- Gebruik ook geen woorden voor een routinenaam die door VBA gereserveerd kunnen zijn, zoals SaveAs.
- Dat kan je in andere versies in de problemen brengen.

- Of die SaveCopyAs werkt is ook afhankelijk van je Office versie.
 
Laatst bewerkt:
Superbedankt voor de code, echter heb ik nu nog een probleem dat mijn document uit 2 pagina's bestaat, maar hij slaat alleen de 1e pagina op, is dit met een aanpassing aan de code te verhelpen?
 
Als je 2 werkbladen bedoelt, dat kan. Dit is voldoende:
Code:
ActiveWorkbook.Sheets(Array("Blad1", "Blad2")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=padnaam & sbnaam & ".pdf"
 
Laatst bewerkt:
Helaas is dat het niet... mijn werkblad is zo lang dat deze uit 2 pagina's bestaat. echter als ik de de macro gebruik om op te slaan slaat hij slechts 1 pagina op en niet beide
 
Plaats dan een voorbeeld.
 
Ik zou niet weten hoe ik hier een voorbeeld van moet plaatsen:

mijn document bestaat uit meer dan 1 pagina, maar volgens de code die ik nu gebruik slaat hij slechts 1 pagina op.

Code:
Sub OpslaanAls()
    Dim sbnaam As String
    Dim padnaam As String
    
    padnaam = "S:\Offerte 2017\afdekkingen\PDF\"
    sbnaam = Range("K2")
    If sbnaam = "" Then
        MsgBox "Gelieve de klantnaam in te vullen."
        Exit Sub
    End If
    
    ActiveWorkbook.Sheets("invoer").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=padnaam & sbnaam & ".pdf", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=False, _
    IgnorePrintAreas:=False, _
    From:=1, _
    To:=1, _
    OpenAfterPublish:=False
    
    padnaam = "S:\Offerte 2017\afdekkingen\XLS\"
    ActiveWorkbook.SaveCopyAs padnaam & sbnaam & ".xlsm"
End Sub
 
Klik op Ga geavanceerd en dan de Paperclip.
 
Als je al het onnodige eens weglaat. Werkt het dan wel?
Code:
ActiveWorkbook.Sheets("invoer").ExportAsFixedFormat TypePDF, padnaam & sbnaam & ".pdf"
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan