Opslaan als pdf met weeknummer datum en tijd in naam

Status
Niet open voor verdere reacties.

corvdh

Gebruiker
Lid geworden
29 aug 2010
Berichten
128
Ik heb een Excel bestand die ik door middel van een druk op de knop wil opslaan als pdf bestand in de zelfde map als het Excel bestand.
Wat ik wil is dat het opgeslagen pdf bestand word voorzien van een weeknummer, datum en tijd.
Dus zoiets als: Testbestand week 41 04-10-2015 15:30
Ook zou het leuk zijn als de melding dat het pdf bestand is opgeslagen de bestandsnaam laat zien.
Is dit mogelijk?

Ik heb al een macro die een pdf bestand opslaat, alleen mis ik het weeknummer, de datum en tijd in de bestandsnaam (zie onder)

Code:
Sub Formulier_opslaan_als_PDF()

1   Dim lngAntwoord As Long
    lngAntwoord = MsgBox("Wil je dit formulier opslaan als PDF bestand?", vbQuestion + vbYesNo + vbDefaultButton2, "Formulier opslaan als PDF bestand")
    If lngAntwoord = vbYes Then
    GoTo 3
    Else
    Exit Sub
    End If


3   pdfName = ActiveSheet.Name
    ChDir ActiveWorkbook.Path & "\"
    fileSaveName = "Test bestand"
    
     ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
        fileSaveName _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True
    
    CreateObject("WScript.Shell").Popup "Het PDF bestand is opgeslagen.", 4, "Ter informatie", vbInformation
    End Sub
 
Je kan deze formule in een cel zetten en die vanuit je code lezen:
=ISO.WEEKNUMMER(VANDAAG()) & " " & TEKST(NU();"DD-MM-JJJJ uumm")

N.B.
Een dubbele punt ( : ) mag niet in een bestandsnaam worden gebruikt.
Daarnaast zou ik toch je code nog eens goed nakijken er zit nogal wat overbodigs in.
Maak er bijvoorbeeld eens dit van met die formule in A1:
Code:
Sub Formulier_opslaan_als_PDF()
    If MsgBox("Wil je dit formulier opslaan als PDF bestand?", _
               vbQuestion + vbYesNo + vbDefaultButton2, _
               "Formulier opslaan als PDF bestand") = vbNo Then
        Exit Sub
    End If
    
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
       Filename:=ActiveWorkbook.Path & "\Test bestand week " & Range("A1") & ".pdf", _
       Quality:=xlQualityStandard, _
       IncludeDocProperties:=True, _
       IgnorePrintAreas:=False, _
       OpenAfterPublish:=True
    
    MsgBox "Het PDF bestand is opgeslagen.", vbInformation, "Ter informatie"
End Sub
 
Laatst bewerkt:
Ik krijg het niet werkend.

Code in cel A1 gezet, macro uitgevoerd.
Ik krijg dan de melding: Fout 13 tijdens uitvoering, Typen komen niet met elkaar overeen.

Door op de knop foutopsporing te klikken word in vba alle code onder de End if dan geel gemarkeerd. behalve de MsgBox regel.
 
De code is goed, dus laat het maar eens zien in je document.
 
Laatst bewerkt:
Ik vergat te melden dat als ik de formule in cel A1 zet er #NAAM? in de cel komt te staan.
Ik klik dan op het uitroepteken naast de cel en lees dan: De formule bevat tekst die niet word herkend.
 
Welke versie van Office gebruik je? Misschien dat deze de functie ISO.WEEKNUMMER nog niet heeft. Gebruik dan eens dit:
=WEEKNUMMER(VANDAAG();21) & " " & TEKST(NU();"DD-MM-JJJJ uumm")
 
Laatst bewerkt:
Ik heb de nieuwe formule gebruikt en nu werkt het goed.

Bedankt voor je hulp.
 
Ok. ISO.WEEKNUMMER zit er vanaf Office 2013 in.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan