beveiligen van een bestand

Status
Niet open voor verdere reacties.

Plotinus

Gebruiker
Lid geworden
25 mrt 2007
Berichten
649
Bij het openen van Excel-bestand wordt er een macro uitgevoerd dat het bestand wordt open gezet, als aan bepaalde voorwaarden wordt voldaan natuurlijk, zoals juiste gebruiker. Bij het afsluiten precies andersom: dan worden alle sheets dichtgezet.

Ik gebruik hiervoor de volgende procedure
Code:
Sub Beveiliging(pro)
    On Error GoTo Foutafhandeling
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    If (pro) Then
        For Each SH In Sheets
            SH.Protect Password:="Paswoord"
        Next
    Else
        For Each SH In Sheets
            SH.Unprotect Password:="Paswoord"
        Next
    End If

Foutafhandeling:
    Exit Sub
End Sub

Dit gaat prima, maar anderen hebben al gehad dat in een andere werkmap alle sheets werden dichtgezet. Ik kan dit niet reproduceren, maar ik vermoed dat dit te maken kan hebben met het feit dat de makro's over een werkmap heen kunnen werken. Ik zou dus graag willen dat de bovenstaande makro alleen wordt uitgevoerd op de juiste werkmap. Hiervoor denk ik aan de naam van het bestand mee te geven als voorwaarde voor de uitvoering. Maar hoe doe ik dat? Stel dat de werkmap 'werklijst' heet.
 
En wat is de waarde van pro?
Je geeft er geen datatype aan mee controleert erop als zou het een Boolean zijn.
 
De waarde van pro is False of True

Maar eigenlijk heb ik het al gevonden denk ik:
Code:
 For Each SH In Sheets
            SH.Protect Password:="Paswoord"
        Next

moet worden:
Code:
For Each SH [COLOR="#0000FF"]In Workbooks("werklijst")[/COLOR].Sheets
            SH.Protect Password:="Paswoord"
        Next
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan