A byte walks into a bar and orders a pint. Bartender asks him "What's wrong?" Byte says "Parity error." Bartender nods and says "Yeah, I thought you looked a bit off."
Verberg (of beveilig met wachtwoord) alle tabbladen bij afsluiten en maak ze weer zichtbaar (cq. hef de beveilging op) bij openen. Beide prima te doen met een scriptje bij de Open() en BeforeClose() events.
Het is natuurlijk maar een pseudo-beveiliging aangezien men dat altijd nog met de hand kan unhiden.
Het is natuurlijk maar een pseudo-beveiliging aangezien men dat altijd nog met de hand kan unhiden.
'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)
In ons geval kan dat niet omdat wij de stuctuur hebben beveiligd. Dan werkt de hide functie niet.
We gebruiken de userinterfaceonly functie om op de achtergrond wel de macro uit te kunnen voeren, maar we willen ook de namen van de werkbladen beveiligen. Daarom gebruiken we de structuurbeveiliging (werkmap beveiliging).
Hoe moeten we deze beide beveiligingen uitvoeren tegelijkertijd?
We gebruiken de userinterfaceonly functie om op de achtergrond wel de macro uit te kunnen voeren, maar we willen ook de namen van de werkbladen beveiligen. Daarom gebruiken we de structuurbeveiliging (werkmap beveiliging).
Hoe moeten we deze beide beveiligingen uitvoeren tegelijkertijd?
A byte walks into a bar and orders a pint. Bartender asks him "What's wrong?" Byte says "Parity error." Bartender nods and says "Yeah, I thought you looked a bit off."
In je code:
stuctuurbeveiliging uitzetten
bladen verbergen
structuurbeveiliging weer aanzetten.
stuctuurbeveiliging uitzetten
bladen verbergen
structuurbeveiliging weer aanzetten.
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
| Sub Macro1() Dim bestand As Workbook Dim blad As Worksheet Set bestand = ActiveWorkbook Set blad = bestand.ActiveSheet bestand.Unprotect Password:=pw Application.DisplayAlerts = False blad.Visible = xlSheetHidden 'of xlVeryHidden bestand.Protect Password:=pw, Structure:=True, Windows:=True Application.DisplayAlerts = True End Sub |