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

Opslaan als

Status
Niet open voor verdere reacties.
Kijk eens naar mijn laatste stukje code
Code:
 & ".xlsb"
test eventjes.
 
Dan slaat hij hem op. Dat gaat goed.
Ik krijg hem geopend. Als ik het dan weer wil afsluiten krijg ik de volgende melding weer.

Knipsel.PNG
 
Moet er nadien nog iets gebeuren met die opgeslagen bestanden?
 
In je plaatje staat weer die .xlsx in plaats van .xlsb
 
Dat geloof ik best, maar je plaatje toont iets anders.
 
Het probleem is nu dat het opgeslagen bestand na het openen, op het moment van sluiten het bestand wil opslaan met dezelfde naam als het reeds geopende bestand. Dat kan dus niet.
Geldt dat opslaan ook voor het opgeslagen bestand? Anders moet deze worden opgeslagen als document zonder macro's.

Maak er dan dit van in het originele document:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ActiveWorkbook.SaveAs Filename:= _
    "C:\Users\Gerrit\Downloads\Test\overdracht\overzicht\Ploegoverdracht TK2 en 3" & " - " _
    & "jaar " & Range("A20") & " - " & "week " & Range("A22") & ".xlsx", FileFormat:=51
    MsgBox "Het document is klaar.", vbInformation, "Opgeslagen"
End Sub
 
Laatst bewerkt:
Ja, dat geldt ook voor het opgeslagen bestand.
Dat opgeslagen dokument wordt iedere dag van de week diverse malen gebruikt. Dus die veranderingen daarin moeten worden opgeslagen.
 
Dat die moet worden opgeslagen snap ik, maar dat hoeft dan niet via een stuk code omdat de gebruiker deze zelf afsluit met de correcte naam die het document al heeft.
 
Kijk naar de laatse code die ik plaatste in #29. Dan wordt het document opgeslagen als document zonder macro's.
 
Je kan dit ook nog eens proberen
Code:
If ActiveWorkbook.Name = ("Ploegoverdracht.xlsb") = True Then
ActiveWorkbook.SaveCopyAs Filename:= _
    "C:\Users\Gerrit\Downloads\Test\overdracht\overzicht\Ploegoverdracht TK2 en 3" & " - " _
    & "jaar " & Range("A20") & " - " & "week " & Range("A22") & ".xlsb"
    MsgBox "Het document is klaar.", vbInformation, "Opgeslagen"
    Else
    ActiveWorkbook.Save
    End If
 
Ik ga hier morgen wel mee verder, ik heb nachtdienst en ga nu even een dutje doen.

Groet,

Gerrit
 
@Dotchie:
Die = True mag er wel uit ;)
 
Dat werkt, alleen heb ik nog een probleem.
Als ik de ploegoverdracht gebruik en het opsla als ploegoverdracht TK2 en 3 2017 week ...., dan is de code in VBA voor het opslaan verdwenen de ploegoverdracht. Deze gebruik ik als sjabloon en heb deze dus iedere zondag nodig.

Hoe krijg ik dat hij alles doet zoals het moet en dat de code in VBA blijft staan?

Groet,

Gerrit
 
En wat gebruik je nu? Die van gast0660 of die van mij?
 
Dan kan die code eigenlijk niet weg zijn. Laat eens zien wat je nu precies hebt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan