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

Opgelost excel VBA werkblad beveiliging

Dit topic is als opgelost gemarkeerd

bartvt78

Gebruiker
Lid geworden
16 mrt 2017
Berichten
202
Besturingssysteem
Mac OS en Windows Parallels
Office versie
Office 365
Beste collega forumleden,

Ik heb van een oud collega een file geërfd en deze werkte door de jaren perfect. Maar nu zou ik daar veranderingen aan willen aanbrengen, maar de file is beveiligd met een paswoord. (Dit is geen paswoord om de file te openen, maar het paswoord om de werkbladen te beveiligen tegen bv formules te overschrijven.) De oud collega zit momenteel al in een rusthuis, en kan het paswoord niet meer herinneren. Ik heb online 2 vba scripts gevonden om van zulk een file het paswoord te verwijderen. Bij het uitvoeren van beide scripts blijft deze een tijdje draaien, en stopt dan, maar als deze gestopt is, is het paswoord nog niet weg. Ikzelf zou niet weten hoe ik deze scripts zou moeten herschrijven om wel te werken. Ik hoop dat iemand het wel weet in deze community. Hartelijk dank.

Code:
Sub PasswordBreaker()

'Breaks worksheet password protection.

Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveSheet.ProtectContents = False Then
MsgBox "One usable password is " & Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub



Sub GetPassword()
Const a = 65, b = 66, c = 32, d = 126
Dim i#, j#, k#, l#, m#, n#, o#, p#, q#, r#, s#, t#
With ActiveSheet
If .ProtectContents Then
On Error Resume Next
For i = a To b
For j = a To b
For k = a To b
For l = a To b
For m = a To b
For n = a To b
For o = a To b
For p = a To b
For q = a To b
For r = a To b
For s = a To b
For t = c To d
.Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & _
Chr(n) & Chr(o) & Chr(p) & Chr(q) & Chr(r) & Chr(s) & Chr(t)
Next t
Next s
Next r
Next q
Next p
Next o
Next n
Next m
Next l
Next k
Next j
Next i
MsgBox "Finished"
End If
End With
End Sub
 
Kun je dat bestandje hier neerzetten of bevat het veel materiaal wat niet voor iedereen bestemd is.
 
Die bladbeveiliging is wellicht eenvoudig te verwijderen.
Dan hebben we wel dat bestand nodig uiteraard.
 
Het bestand zelf deel ik liever niet hier, omdat dit dan niet volgens de regels van het forum is, aangaande geen effectieve data te mogen bevatten. En ik kan de file niet anoniem maken omdat deze dus beveiligd is op werkblad niveau...
 
Je mag hem ook aan me emailen.
Discretie verzekerd.
Of volg dit:
Om deze inhoud te bekijken, hebben we jouw toestemming nodig om cookies van derden te gebruiken.
Voor meer gedetailleerde informatie, zie onze cookiespagina.
 
Hey edmoor, ik vond niet zo direct jou mail adres. Ik heb je link wel gevolgd. Na 3 keer proberen is het gelukt. Waarschijnlijk heb ik dus de eerste 2 keren iets teveel weggehaald. Maar dit werkt dus ook, zonder vba script. Maar spannend is het wel, zo in die zip file al die cryptische data te zien. Nu weet ik iets meer hoe een excel file is opgebouwd. Je kan er dus geen sikkepit van verstaan. Zoveel is zeker. Nog een prettige avond.
 
Het is puur XML.
Fijn dat het gelukt is en goed gedaan :D
 
Terug
Bovenaan Onderaan