Het controleren of een bepaalde user wijzigingen in een sheet mag aanbrengen, heb ik geregeld middels het inlezen van een .txt met daarin de geautoriseerde users. Nu wil het dat dit .txt bestandje op een netwerkschijf staat, waar de geautoriseerde users toegang toe hebben, maar sommige niet geautoriseerde niet.
Hoe vang ik dit af zonder een foutmelding? De niet-geautoriseerde user moet wel het sheet kunnen openen en bekijken en bij voorkeur zonder foutmelding.
Dit is de code die ik gebruik:
Function AuthorizedUser(ByVal UserId As String) As Boolean
Dim Pad As String
Dim Bestand As String
Dim PadEnBestand As String
Dim regel As String
AuthorizedUser = False
If Len(UserId) < 3 Then
Exit Function 'False
End If
If SuperUser(UserId) Then
AuthorizedUser = True
Else
Pad = "G:\AA\BB\CC\DD\BesturingTooling\"
Bestand = "authorizedusers.txt"
PadEnBestand = Pad & Bestand
Open PadEnBestand For Input As #1
Do While Not EOF(1)
Line Input #1, regel
If UserId = UCase(regel) Then
AuthorizedUser = True
Close #1
Exit Function
End If
Loop
Close #1
End If
End Function
Hoe vang ik dit af zonder een foutmelding? De niet-geautoriseerde user moet wel het sheet kunnen openen en bekijken en bij voorkeur zonder foutmelding.
Dit is de code die ik gebruik:
Function AuthorizedUser(ByVal UserId As String) As Boolean
Dim Pad As String
Dim Bestand As String
Dim PadEnBestand As String
Dim regel As String
AuthorizedUser = False
If Len(UserId) < 3 Then
Exit Function 'False
End If
If SuperUser(UserId) Then
AuthorizedUser = True
Else
Pad = "G:\AA\BB\CC\DD\BesturingTooling\"
Bestand = "authorizedusers.txt"
PadEnBestand = Pad & Bestand
Open PadEnBestand For Input As #1
Do While Not EOF(1)
Line Input #1, regel
If UserId = UCase(regel) Then
AuthorizedUser = True
Close #1
Exit Function
End If
Loop
Close #1
End If
End Function