Stránka 1 z 1
VBA - zjištění zamčení listu
Napsal: 11 črc 2012 12:36
od VALL
Ahoj,
Hledám řešení, které zjistí, zda je definovaný list zamčen a vrátí např., hodnotu True nebo false.
Zatím se mě nedaří najít způsob,jak to napsat.
Re: VBA - zjištění zamčení listu
Napsal: 11 črc 2012 13:38
od cmuch
Nevím jak list, ale dalo by se podle buňky na listu.
Kód: Vybrat vše
zamek = Sheets("nazev").Range("A1").Locked
Re: VBA - zjištění zamčení listu
Napsal: 11 črc 2012 14:00
od VALL
Dík, ale není to ono. Sleduje to zda je v nabídce formát buňky - záložka zámek zaškrtlé políško "zámek". Tzn., bez ohledu na zamknutí listu, hlásí stav buňky.
Já v podstatě potřerbuji navázat následujícím makrem, reagující na stav zámku listu.
Kód: Vybrat vše
If zamek = False Then
Sheets("DS").Select
Exit Sub
End If
Re: VBA - zjištění zamčení listu
Napsal: 11 črc 2012 18:37
od cmuch
Tak asi takto.
Najít nějakou buňku do které se pokusit zapsat něco a podle toho jestli to je možné vyhodnotit v makru.
Nejlépe zapsat nic, to aby nebylo vidět pokud to půjde.
Kód: Vybrat vše
On Error Resume Next
Sheets("nazev").Range("A1") = ""
' run-time-error
If Err.Number = 1004 Then
MsgBox "List zamknut!!"
End If
Re: VBA - zjištění zamčení listu
Napsal: 12 črc 2012 07:58
od VALL
Ahoj,
díky, vyzkoušel jsem. Bohužel to funguje pouze v případě, když je list zamknutý. To je Ok. V případě, že je list odemknutý, stále to hlásí, že je list zamknut.
Tzn., v mém případě, musím znovu zadat heslo, což nechci, chci pouze list vybrat.
Re: VBA - zjištění zamčení listu
Napsal: 12 črc 2012 09:20
od cmuch
Nevím, ale mě to normálně jde jak na 2003 tak 2010,
list odemknut - hláška se nezobrazí
list zamknut - hláška se zobrazí
Kód: Vybrat vše
On Error Resume Next
Sheets("nazev listu").Range("A1") = "zapis"
' run-time-error
If Err.Number = 1004 Then
MsgBox "List zamknut!!"
End If
Re: VBA - zjištění zamčení listu
Napsal: 12 črc 2012 09:46
od VALL
Tak jsem našel rozdíl. Pokud je makro pro nový, čistý sešit tak to funguje skvěle. když ho vložím do mojeho sešitu, kde již jsou nějaké funkční objekty, tak nefunguje, viz můj poslední příspěvek.
Přikládám sešit. Jak funguje. Při jeho otevření se zobrazí hlavní stránka, kde vybírám co chci zobrazit. Když vyberu např., DS (tlačítko DS), pak se po zadání hesla zobrazí list DS a Csl. Stejné pro Tlačítko Csl.
Sešit je mnohem rozsáhlejší - trochu jsem ho pro přehlednost ořezal. Když se vrátím na list "Main" a znovu kliknu na tlačítko DS (list DS je již odemknut), znovu to po mě chce heslo. V tomto kód od Cmucha nezafunguje, vnímá list jako zamknutý.
Re: VBA - zjištění zamčení listu Vyřešeno
Napsal: 12 črc 2012 11:26
od d1amond
Pokud jde jen o zjištění zda je uzamčen či nikoliv, potom
Kód: Vybrat vše
If ActiveSheet.ProtectContents = True Then
MsgBox "Sešit uzamčen"
Else: MsgBox "Není uzamčen"
End If
Re: VBA - zjištění zamčení listu
Napsal: 12 črc 2012 12:05
od VALL
díky funguje skvěle.