• 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 bestand opslaan als PDF bestand

Status
Niet open voor verdere reacties.

Budel

Gebruiker
Lid geworden
2 sep 2015
Berichten
82
Hallo allemaal,

Wie kan mij helpen om de juiste vba code toe te voegen aan mijn Excel bestand.
Inmiddels ben ik hier al enige tijd mee bezig, maar het lukt mij niet om de juiste code toe te voegen.
Graag zo ik willen dat indien ik op de knop opslaan in het bestand drukt dat er automatisch een PDF bestand van maakt wordt.
als bijlage het bestand mee gestuurd.

vriendelijk dank.
 

Bijlagen

Hallo,

Deze vragen komen bijna wekelijks voorbij, maar maakt niet uit.
Alleen van het eerste blad wordt een Pdf gemaakt.
Code:
If Dir(Padnaam & FACname & "*.pdf") <> "" Then
        MsgBox "Bestand: " & FACname & " bestaat reeds"                ' Een controle om geen dubbel PDF-bestand te maken.
    Else
    Sheets(1).ExportAsFixedFormat 0, Padnaam & FACname
     End If

Voor het hele bestand als pdf:
Onderstaand stukje 'Sheets(1)' verruilen voor 'Thisworkbook'.
 
Laatst bewerkt:
Even los van de vraag. Ik zou gebruikers niet lastig vallen met allerlei berichten maar ervoor zorgen dat de knop 'opslaan' pas zichtbaar wordt als de verplichte gegevens ingevoerd zijn.

Code:
Private Sub CommandButton1_Click()
Padnaam = "H:\testmap\"
FACname = Trim(Range("C12"))
If Dir(Padnaam & FACname & "*.pdf") <> "" Then
    MsgBox "Bestand: " & FACname & " bestaat reeds"
    Exit Sub
  Else
    CommandButton1.Visible = 0
    ActiveSheet.ExportAsFixedFormat 0, Padnaam & FACname
    Range("C12") = Range("C12") + 1
    Range("C15,C17:C19,E21:E36,J21:J22,C42:E42,B43:E44").ClearContents
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, [C15,C17:C19]) Is Nothing Then CommandButton1.Visible = Application.CountA([C15,C17:C19]) = 4
End Sub
 

Bijlagen

Exit sub is overbodig in de code; Als je aan het eind van de code het bestand opslaat is in mijn optiek het hele stuk code van de 'if then else' overbodig als je toch cel C12 verhoogt met 1 (dan is er geen duplicaat).
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan