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

const as string

Status
Niet open voor verdere reacties.

wacco

Gebruiker
Lid geworden
9 mrt 2006
Berichten
229
Hallo,

Ik heb in een module volgende code staan :
Code:
Public Const ww As String = "test"
En gebruik op een groot aantal sheets het volgend om de beveiliging van een sheet te halen :
Code:
Unprotect password:=ww
Ik zou nu graag willen dat de tekst (test) afhankelijk wordt van een cel waarde , deze staat dan in : worksheets("Admin").range("B2").
Maar ik begrijp dat dat niet mogelijk is met een Const constructie.
Is hier een work around voor, want de manier waarop nu de beveiliging op een sheet erop en eraf gaat, bevalt goed en is heel makkelijk ergens in de code tussen te plaatsen.
Hopelijk is hier iets op te vinden.

Bijvoorbaat dank,
 
Zo.


Code:
Unprotect password:=worksheets("Admin").range("B2")
 
@lam201,
Dankje wel voor je snelle reactie.
Maar omdat het aanroepen van het wachtwoord middels
Code:
Unprotect Password:=ww
op een groot aantal plaatsen wordt toegepast, zou het makkelijker zijn om de const constructie aan te passen.....als dat mogelijk is.
Anders zal ik op al die plaatsen toch de door jou geplaatste oplossing moeten toepassen.
Hopte eigenlijk dat er een andere manier was.
 
Zo:
Code:
Public ww As String

En in de Workbook_Open:
Code:
ww = Sheets("Admin").Range("B2")
 
Zo misschien?

door eenmalig de procedure GetPassword aan te roepen, wordt ww geladen met het wachtword uit cel B2
vanaf dan is ww te gebruiken in andere procedures.


Code:
Public ww As String



Sub GetPAssword()
ww = Worksheets("Admin").Range("B2")
End Sub
 
Of zet het in een Name object of een Custom Property.

Of maak 2 Subs.

Code:
Sub ProtectAan
    ActiveSheet.Protect Sheets("Admin").range("B2")
End Sub

Sub ProtectUit
    ActiveSheet.UnProtect Sheets("Admin").range("B2")
End Sub

Dan hoef je op dat grote aantal plekken alleen maar die subs aan te roepen.
Je kan er ook nog 1 sub met een Boolean parameter van maken.
Bijvoorbeeld:
Code:
Sub SheetProtect(sts As Boolean)
    Dim ww As String
    
    ww = "Je Wachtwoord"
    If sts Then
        ActiveSheet.Protect ww
    Else
        ActiveSheet.Unprotect ww
    End If
End Sub
Aan te roepen als:
SheetProtect True Of SheetProtect False
 
Laatst bewerkt:
@Edmoor,

Ik heb jouw optie
Code:
Sub ProtectAan
    ActiveSheet.Protect Sheets("Admin").range("B2")
End Sub

Sub ProtectUit
    ActiveSheet.UnProtect Sheets("Admin").range("B2")
End Sub
uitgeprobeert.
Werkt opzich goed, maar zodra ik het wachtwoord, in cel B2 van sheet Admin, verander loopt het vast.
Er wordt dan aangegeven

Fout excel.jpg

Bij foutopsporing wordt dan verwezen naar :
Code:
 Sub ProtectUit()
    ActiveSheet.Unprotect Sheets("Admin").Range("B2")
    
End Sub

Is hier misschien ook een oplossing voor, want wachtwoord zal soms veranderd moeten worden
 
Logisch.
Voordat je het wachtwoord wijzigt zal je eerst de beveiligde bladen moeten UnProtecten.
Dan het wachtwoord wijzigen en die bladen Protecten met het nieuwe wachtwoord.
 
Klinkt logisch.
Maar ik had gehoopt dat ik op 1 plaats, op een voudige manier het wachtwoord zou kunnen aanpassen.
Er is geen andere manier om iets dergelijks voor elkaar te krijgen ?
 
Nee.
Je kan geen nieuw wachtwoord op een beveiligd blad zetten zonder deze eerst te UnProtecten met het bestaande wachtwoord.
Wel kan je er een eenvoudige procedure voor maken uiteraard.
 
Wat voor de een eenvoudig is, is voor die ander een groot probleem.......laat ik nu die ander zijn
 
Ik zal vanavond eens kijken of ik iets makkelijks voor je kan maken.
 
Moet nog wel even vertellen dat ik graag gebruik wil maken van onderstaand file om wachtwoorden te wijzigen.
Ik weet niet of dit invloed heeft op wat jij wilt gaan doen, en of dat problemen geeft.
Ik ben dit ooit eens tegen gekomen, en dit werkt eigenlijk wel mooi.
Hopelijk is dit allemaal mogelijk
 

Bijlagen

  • Password_Solution.xlsm
    30,7 KB · Weergaven: 7
Op zich niks mis mee, maar die heeft hetzelfde probleem.
De reeds beveiligde werkbladen worden niet eerst UnProtected.

En wil je echt gebruikersnamen opnemen en een wachtwoord per gebruiker?
Dan komt daar nog wel e.e.a. aan extra controles bij kijken.

Daarnaast, als het is om buitenstaanders uit het document te houden heeft het al helemaal geen zin.
Wachtwioord beveiliging in Excel is een wassen neus.
Wachtwooorden zijn eenvoudig uit een document te verwijderen waardoor het hele document zonder wachtwoord te benaderen is.
 
Laatst bewerkt:
Is maar voor 1 gebruiker en 1 wachtwoord.
Wachtwoord wat gebruikt wordt bij deze userforms, wordt ook wachtwoord voor de rest.
Gebruikersnaam in combinatie met wachtwoord is enkel nodig om toegang te krijgen tot admin sheet, en dit zit nu eenmaal in deze userforms en ik wil dit dan ook maar gebruiken.
Wachtwoord veranderen, zou dan alleen via deze userforms moeten gebeuren, als mede de toegang tot sheet Admin.
Op de sheet Admin staat dan wel de gebruikersnaam en wachtwoord weergegeven, maar als daar het wachtwoord wordt veranderd dan geeft dit weer andere problemen.....kan ik mij zo voorstellen.
Dus of de gebruikersnaam en wachtwoord echt op de sheet Admin moet worden weergegeven,....weet ik niet,.....misschien in verborgen kolommen
Ik wil wel een sheet Admin, omdat ik deze wil gaan gebruiken als een soort setup pagina voor andere zaken.

Ik hoop hier genoeg info aan hebt, en nogmaals hartelijk dank dat je hier naar wilt kijken.
 
Via een Userform kan uiteraard prima.
Hoe wil je die dan activeren?
Met een knop?
En waar moet die dan worden geplaatst?
Op het Admin sheet kan dat dan uiteraard niet.
 
Bedoeling is inderdaad met een knop.(LogIn)
Deze knop komt inderdaad op een ander blad.
En blad Admin zal tot die tijd dan xlveryhidden zijn.
Bedoeling was om dan op Admin blad een LogOff knop te maken, welke terug keert naar blad waarop LogIn knop staat, en Admin blad wederom XLveryhidden te maken.
 
En ik ben er mij van bewust dat de wachtwoorden in excel een wasse neus zijn.
Maar dat is geen probleem, gaat er alleen maar om dat er voor de gebruikers, welke geen excel specialisten zijn, een eerste drempel aanwezig is zodat deze niet zomaar van alles kunnen wijzigen in allerlei bladen.
 
Kijk eens naar dit document.
Ga naar het blad Info.
Het wachtwoord voor het Admin blad is wacco, deze is opgeslagen in een hidden Name object.
Het wachtwoord voor het VBA Project is 123Wacco321
 

Bijlagen

  • Wacco.xlsm
    43,1 KB · Weergaven: 22
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan