VBA excel: afhandeling niet geautoriseerde users

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • gies1961
  • Registratie: September 2018
  • Laatst online: 17-09-2018
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

Acties:
  • 0 Henk 'm!

  • Slavy
  • Registratie: December 2007
  • Niet online

Slavy

The War Drags Ever On!

Ik vermoed dat dit je vraag beantwoord :)

https://stackoverflow.com...el-username-grants-access

Come hear the moon is calling, The witching hour draws near, Hold fast the sacrifice, For now it's the time to die, All hell breaks loose, WITCHING HOUR!


Acties:
  • 0 Henk 'm!

  • KabouterSuper
  • Registratie: September 2005
  • Niet online
Je kunt je stukje waarin je de file opent in een andere functie stoppen, dan kan je daar de fout apart afvangen.

When life gives you lemons, start a battery factory


Acties:
  • 0 Henk 'm!

  • gies1961
  • Registratie: September 2018
  • Laatst online: 17-09-2018
Helaas niet de oplossing. Het pad waar naar verwezen wordt in mijn stukje code, daar hebben sommige gebruikers geen autorisatie voor. Dat wil ik graag afvangen. Testen op het bestaan van de directory werkt niet. Want de directory bestaat wel.

Acties:
  • 0 Henk 'm!

  • heuveltje
  • Registratie: Februari 2000
  • Laatst online: 13:25

heuveltje

KoelkastFilosoof

Daar zou een functie voor moeten zijn : CheckFileAccess
http://www.freevbcode.com/ShowCode.asp?ID=4318

Kun je daar mee verder ?


Je kunt trouwens ook even alle errors supressen, het bestand inlezen, en daarna weer enablen.
Niet echt netjes, maar doet wel wat je zoekt denk ik ?

[ Voor 36% gewijzigd door heuveltje op 17-09-2018 14:16 ]

Heuveltjes CPU geschiedenis door de jaren heen : AMD 486dx4 100, Cyrix PR166+, Intel P233MMX, Intel Celeron 366Mhz, AMD K6-450, AMD duron 600, AMD Thunderbird 1200mhz, AMD Athlon 64 x2 5600, AMD Phenom X3 720, Intel i5 4460, AMD Ryzen 5 3600 5800x3d


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Of je regelt het met ntfs rechten? Geef een groep modify rechten op de file en de andere read rechten. Met VBA zelf rechten regelen blijft tricky: kan ik altijd nog de hele sheet kopieren in een nieuw sheet en het oude bestand overschrijven. Weg beveiliging.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland

Pagina: 1