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

Macro knop beveiligen

Status
Niet open voor verdere reacties.

gerardn

Gebruiker
Lid geworden
14 okt 2007
Berichten
19
Hallo
Ik heb een vraag:
Ik heb exel bestand met meerdere tabbladen ,het voorste blad (blad1) heb ik marco knoppen staan ,maar sommige marco knoppen wil ik beveiligen tegen gebruik.
Ik heb de marco gecopieerd en staat hieronder:

Sub Aanpassen_bezetting()
'
' Aanpassen_bezetting Macro
' De macro is opgenomen op 31-1-2003 door Gerard.
'

'
Sheets("Aanpassen bezetting").Select
End Sub

ik wil graag met een wachtwoord : Gerard
Hoe doe ik dit ??
 
Dit is een ruw ideetje, hoe je het zou kunnen doen.
De code (zonder de sub declaratie) zet je aan het begin van de betreffende macro.
Code:
Sub wachtwoord()
Dim sInvoer As String
Dim sWw As String
     sWw = "wachtwoord"
     sInvoer = InputBox("geef wachtwoord")
         If sInvoer <> sWw Then
               MsgBox ("geen toegang!")
               Exit Sub
         End If
     MsgBox ("toegang!")
'jou verdere code
End Sub
Mooier is het om een userform te maken met een textbox ipv van de inputbox.
Eigenschap PasswordChar kun je dan op "*" zetten.
De ingevoerde karakters worden dan als sterretjes weergeven.

Ook kun je de van de gewenste knoppen de eigenschap Enabeled op False zetten.
Dat maakt de knoppen grijs en onbruikbaar
Iets als de bovenstaande code zet je dan in de event macro Workbook_open
Bij openen van het bestand wordt dan om een wachtwoord gevraagd.
Bij een juist wachtwoord zet je vervolgens Enabeled op True
Dat maakt de knoppen werkzaam.
mvg leo

mvg leo
 
Laatst bewerkt:
Als je die laatste methode gebruikt vergeet dan ook niet een wachtwoord te plaatsen op je VBA code, anders kan je met control+break de code onderbreken en het wachtwoord uit de code lezen. Excel is nu niet de beste oplossing als het om veiligheid en protectie draait. Wachtwoorden zijn eenvoudig te kraken door o.a. hulpmiddeltje op het net.
 
Die beveiliging is een nuttige toevoeging.
Ctrl Break is eventueel uit te zetten wanneer je nog meer op save wilt spelen.
Wachtwoorden zijn eenvoudig te kraken door o.a. hulpmiddeltje op het net.
Het is dan een goed idee om een veilig wachtwoord te kiezen, met hoofd en kleine letters en cijfers
Is het trouwens zo dat die wachtwoorden zo makkelijk te breken zijn?
Ik ken er wel programmaaatjes voor, maar die doen er heel lang over als het een goed wachtwoord is.
Als dat zo is moet ik nog eens naar de beveiliging kijken die ik zelf gebruik.
mvg leo
 
Laatst bewerkt:
Ik ben helemaal geen expert op het vlak van passwoorden, maar heb wel een paar testen achter de rug met password beveiliging op een excel document om te zien of de protectie voldoende was voor het gebruik intern bij de firma, maw kunnen gebruikers die bepaalde logica niet dienen te kennen deze eenvoudig achterhalen uit VBA code of uit verborgen sheets.

Zulke password remover programs zoeken en geven u een tekenreeks die u in staat stelt om als vervanger van het originele password te gebruiker. Het is daarom niet het passwoord zelf, maar je kan er de password protectie mee op heffen.
De wachtwoorden op een sheet zijn heel simpel te verwijderen door een kleine module in je VBA code. Gewoon even laten lopen en die protectie is weg.
Passwoorden op bestandsniveau zijn wat moeilijker maar ook niet onoverkomelijk.
Natuurlijk hoe ingewikkelder het password hoe moeilijker te kraken. Ik lees her en der dat 14 karakters lang, afwisselend hoofd- en kleine letters en cijfers en andere tekens doorelkaar een richtlijn is voor een sterk password. Maar dat ook dat geen abosulte zekerheid biedt.
 
@Finch
bedankt voor je duidelijk en uitgebreide reactie
mg leo
 
Het "werkt' maar nu nog het wachtwoord ?

Om te beginnen bedankt voor je reactie !:thumb:
ik heb het ingevuld in de macro, maar nu........

Code:
Sub Aanpassen_bezetting()
Dim sInvoer As String
Dim sWw As String
     sWw = "gerard"  --> [COLOR="Red"]stond eerst "wachtwoord' [/COLOR]
     sInvoer = InputBox("geef wachtwoord")
         If sInvoer <> sWw Then
               MsgBox ("geen toegang!")
               Exit Sub
         End If
     MsgBox ("toegang!")
End Sub

Ik heb hier gerard ingevuld maar ik krijg "geen toegang' !
waar zit nu de fout ?:confused:
 
Laatst bewerkt door een moderator:
Gerardn, Je zal waarschijnlijk éérst nog een keer 'wachtwoord' moeten gebruiken om de beveiliging op te heffen. Daarna beveiligen met 'gerard' en je code zou bruikbaar moeten zijn....

Groet, Leo
 
Om te beginnen bedankt voor je reactie !:thumb:
ik heb het ingevuld in de macro, maar nu........

Sub Aanpassen_bezetting()
Dim sInvoer As String
Dim sWw As String
sWw = "gerard" --> stond eerst "wachtwoord'
sInvoer = InputBox("geef wachtwoord")
If sInvoer <> sWw Then
MsgBox ("geen toegang!")
Exit Sub
End If
MsgBox ("toegang!")
End Sub

Ik heb hier gerard ingevuld maar ik krijg "geen toegang' !
waar zit nu de fout ?:confused:
Je kan niet lezen ofzo, zie mijn bericht nr 2
 
...en je maakt het jezelf dus makkelijk door op het knopje met het '#' te klikken. Dan worden de tags vanzelf neergezet...

Groet, Leo
 
Over her verkeerd lezen

Beste huijb.

Ik zal wel te "vlug' hebben gelezen, Helaas heb ik last van leesblindheid.:(
Maar een ieder geval bedankt voor jullie hulp :thumb:

vr.gr.
Gerard
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan