shalhevet
Gebruiker
- Lid geworden
- 9 okt 2007
- Berichten
- 231
Hallo,
Ik heb een Excel bestand die ik graag als voorbeeld naar klanten wil sturen. Ze kunnen dan het bestand voor een periode gebruiken om te testen. De bedoeling is dat na de test periode het bestand niet meer te bewerken wordt maar wel nog gelezen kan worden.
In het Engels noemen ze dat " Time bombing".
Nu heb ik op internet rond gekeken en heb onderstaand code gevonden maar deze werkt niet (of doe ik iets verkeerd).
Weet iemand welke code zou ik kunnen gebruiken?
Alvast bedankt!
Ik heb een Excel bestand die ik graag als voorbeeld naar klanten wil sturen. Ze kunnen dan het bestand voor een periode gebruiken om te testen. De bedoeling is dat na de test periode het bestand niet meer te bewerken wordt maar wel nog gelezen kan worden.
In het Engels noemen ze dat " Time bombing".
Nu heb ik op internet rond gekeken en heb onderstaand code gevonden maar deze werkt niet (of doe ik iets verkeerd).
Weet iemand welke code zou ik kunnen gebruiken?
Alvast bedankt!
Code:
Sub TimeBombWithDefinedName()
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' TimeBombWithDefinedName
' This procedure uses a defined name to store this workbook's
' expiration date. If the expiration date has passed, a
' MsgBox is displayed and this workbook is closed.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim ExpirationDate As String
On Error Resume Next
ExpirationDate = Mid(ThisWorkbook.Names("ExpirationDate").Value, 2)
If Err.Number <> 0 Then
'''''''''''''''''''''''''''''''''''''''''''
' Name doesn't exist. Create it.
'''''''''''''''''''''''''''''''''''''''''''
ExpirationDate = CStr(DateSerial(Year(Now), _
Month(Now), Day(Now) + C_NUM_DAYS_UNTIL_EXPIRATION))
ThisWorkbook.Names.Add Name:="ExpirationDate", _
RefersTo:=Format(ExpirationDate, "short date"), _
Visible:=False
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''
' If the today is past the expiration date, close the
' workbook. If the defined name didn't exist, we need
' to Save the workbook to save the newly created name.
''''''''''''''''''''''''''''''''''''''''''''''''''''''
If CDate(Now) > CDate(ExpirationDate) Then
MsgBox "This workbook trial period has expired.", vbOKOnly
ThisWorkbook.Close savechanges:=False
End If
End Sub