Opslaan als PDF met volgnummer

Status
Niet open voor verdere reacties.

Noudthy

Gebruiker
Lid geworden
7 apr 2016
Berichten
39
Een tijd geleden ben ik hier al perfect geholpen.
Ik tracht mij er weer in te verdiepen, lukt weer aardig maar ik loop vast.
Heb al een en ander gezocht hier, maar kom daar niet uit.

Ik mijn bestand uitbreiden met een optie zodat een bestand waarvan de naam al bestaat nogmaals opgeslagen kan worden maar dan automatisch een oplopend volgnummer krijgt.

Map waar bestand in weg geschreven wordt is C:\Corveelijst
Hier moet een bericht opgeslagen worden op basis van jaar en weeknummer.
Jaar en weeknummer staan op werkblad "corvee" resp cel A1 en B1
Eerste op te slaan bestand van betreffende week moet gaan heten (voorbeeld) "Corvee_2018-17 Ver_01" ( Ver staat voor versie),
Van belang is dat versie in twee karakters wordt geschreven: 1 (t/m 9) als 01 (t/m 09) en niet als "1" etc

Als dan naam en volgnummer bekend zijn moet hij opgeslagen worden als PDF

Wie duwt mij even de goede kant op :)
 
En hoe wil je dat opslaan starten?
En dan alleen een bepaald blad? Of alle bladen?
Plaats je document.
 
En hoe wil je dat opslaan starten?
En dan alleen een bepaald blad? Of alle bladen?
Plaats je document.

Hi
Dank voor je reactie.

Een selectie van de pagina. Maar dat is het probleem niet. Dat heb ik al voor elkaar.
Het gaat puur om het opslaan met in benaming jaar week en volgnummer. Volgnummer is per week op 01 beginnend.
Daar loop ik op vast namelijk, bepalen volgnummer. Opslaan en benamen lukt dus ook met verwijzing naar cellen. Alleen de loop en wat is het hoogste nummer (laatste 2 cijfers van de bensming als rest gelijk is
Dat moet een loop worden neem ik aan.
 
Ik heb het voorbeeld nog wat aangepast en opnieuw geplaatst.
 
Laatst bewerkt:
Niet geheel wat ik zoek, maar kan eventueel wel een oplossing zijn.

Maar ik zoek eigenlijk wat anders.

Oja Ik heb Excel 2013 versie., na zoeken kwam ik uit bij file.count en dergelijke maar helaas dat is er sinds 2007 uit.

Bestand moet wel als PDF opslaan
Ben verder wezen kijken hier op forum, onderstaande lijkt het meeste op wat ik zoek

Ik denk dat het iets in de stijl als het onderstaande moet worden. Waarin in bepaalde map wordt gekeken of bestand al bestaat, zo ja volgnummer met 1 verhogen.
Had hem redelijk werkend..... maar het sloeg mijn excelbestand op met volgnummers en niet als pdf
Wel als PDF opslaan.

Onderstaande "goed" gestolen en ander jasje gegeven. Maar het werkt niet
Fout melding op laatste regel, die ergens anders wel zijn werk doet (Bij gewoonopslaan zonder dat gedoe met volgnummers :)
Omdat hij daar vast loopt weet ik niet wat hij doet verder.

Kunnen jullie specialisten eens kijken. Dit oogt mij namelijk als eenvoudigste en meest directe manier om eea uit te voeren

Wat ik ook niet begrijp waarom $ achter bestandnaam staat

Code:
  Dim Bestandsnaam As String
   Sheets("Corvee").Select
  tel = 1
  Do
    Bestandsnaam$ = "C:\Windows\Temp\Corvee_ & Range("A1") "-" & Range("B1") & "_Ver_" & IIf(tel = 0, "", "(" & tel & ")") & ".pdf"  
    If Dir(Bestandsnaam$) = "" Then                        'bestaat die naam al in die directory ?
      tel = 1                                              'teller op 0 zetten om uit de loop te komen
    Else
      tel = tel + 1                                        'bestand bestond al, dus teller 1 ophogen
    End If
  Loop While tel <> 1

ActiveSheet.ExportAsFixedFormat xlTypePDF, Bestandsnaam$, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

Map Temp is tijdelijk tot eea goed werkt ;-)
Doel is dus om in map C:\Windows\Temp

Bestanden te creëren als volgt:
Corvee_2018-16_Ver_01.pdf
Corvee_2018-16_Ver_02.pdf
Corvee_2018-16_Ver_03.pdf
Corvee_2018-16_Ver_04.pdf
 
In #2 zei je alleen een oplossing voor de naamgeving te willen.
Mijn voorbeeld daarin doet exact wat je vroeg voor wat betreft het genereren van die naam.

Nu zeg je ineens iets heel anders te zoeken.
Zo blijven we aan de gang natuurlijk.
 
Laatst bewerkt:
Sorry meer een kwestie van gedachte niet goed op papier zetten. Waardoor ruimte voor interpetatie van de vraag verschillende antwoorden kan genereren.
Maar het lijkt mij effectiever om vba te laten kijken op de schijf hoeveel versies er zijn.
Jouw wijze ga ik wel wat mee doen als mijn gedachte/wens niet uitvoerbaar is of wordt.
 
Deze functie geeft het aantal gevonden bestanden terug:
Code:
Function TelBestanden(Naam As String) As Integer
    bestand = Dir(Naam & "*.pdf")
    If bestand = "" Then
        TelBestanden = 0
    Else
        While bestand <> ""
            TelBestanden = TelBestanden + 1
            bestand = Dir()
        Wend
    End If
End Function

Met deze aanroep:
Code:
Sub CommandButton1_Click()
    aantal = TelBestanden("C:\Corveelijst\Corvee_" & Range("A2") & "-" & Range("B2") & " Ver_")
    MsgBox aantal
End Sub
 
Laatst bewerkt:
MAGNEFIEK !!
Precies wat ik zocht, werkt als een tierelier

THNX

Ik ga verder bouwen.
Op naar de volgende vraag..... of niet natuurlijk :)
 
De vraag is op zich al perfect beantwoord.
Werkt onwijs.

Nu heb ik nog een vraag.
Bestand sla ik op en komt dan als bijlage in de mail. Maar als ik de mail niet verstuur en mail verwijder heb ik wel de versie verhoging.
Is er iets eenvoudigs te verzinnen waarbij de file wordt verwijderd als de mail niet verstuurt wordt?
En op die manier feitelijk in mail altijd oplopende versies verstuurd worden?

Ik laat de mail eerst voorkomen met .display
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan