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

Kill excel bestand met tijdslot

Status
Niet open voor verdere reacties.

drubbus

Gebruiker
Lid geworden
20 feb 2013
Berichten
121
Prachtig stukje VBA gevonden op HELPMIJ
Het sluit het bestand na 5 minuten af en op de ingegeven datum wordt het bestand ook nog eens verwijderd van de groepsschijf
Hierdoor kan niemand bij ons langer dan 5 minuten in het bestand kijken en ik voorkom er mee dat er in het verkeerde bestand gekeken wordt

Graag zou ik alleen ook nog een tijdstip in het script willen zetten zodat het NA dit tijdstip pas wordt verwijderd.
Kan dit?
In een module staat

Code:
 Sub Sluiten()
 ThisWorkbook.Close
End Sub

in het Workbook


Code:
"'kill bestand

Private Sub WorkBook_Open()
 Application.OnTime Now + TimeValue("00:05:00"), "Sluiten"



 
 Dim myCount        'This line of code is optional
Dim i                     'This line of code is optional
Dim Edate As Date
On Error Resume Next

myCount = Application.Sheets.Count
For i = 2 To myCount
Sheets(i).Visible = True
If i = myCount Then
Sheets(1).Visible = xlVeryHidden
End If
Next i

If Date >= CDateTime("24,08,2017") Then
Application.Quit
With ThisWorkbook
        .Save
        .ChangeFileAccess Mode:=xlReadOnly
        Kill .FullName
        .Close SaveChanges:=False
    End With
End If
End Sub
 
Niet dat ik precies je bedoeling begrijp, maar het gedeelte onder Application.Quit word natuurlijk nooit uitgevoerd omdat je daarmee heel Excel afsluit.
 
Het werkt wel

Nou ,.... toch wel
Het bestand wordt keurig afgesloten na 5 minuten zolang de datum niet wordt overschreden



Het verwijdert zich zelf na de opgegeven datum als men het bestand nog aan klikt.

Het enige wat niet lukt is dat hij dit op de ingegeven datum bijvoorbeeld na 15:00 uur doet

ik heb het bestand toegevoegd

Bekijk bijlage Rooster van datum 24 Augustus 2017 - kopie.xlsm
 
Je ziet niet wat er mis gaat omdat de code al begint met On Error Resume Next.
Daarnaast is er geen Excel functie die CDateTime heet, dat is een Nebula functie waar Excel geen weet van heeft.
Of heb je die nagemaakt in je eigen document?

Edit:
In je document heb je die al verwijderd zie ik net.
Haal in ieder geval ook die On Error Resume Next weg en vang eventuele fouten correct af.
 
Laatst bewerkt:
Beste heren en dames,

Zullen we het gezellig houden :)?

m.v.g
Rick van Lieshout
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan