V předchozím dílu jsme začali řešit ochranu informací před uživatelem při používání uživatelských funkcí. Chceme utajit názvy Kafkových děl, aby je běžný uživatel nemohl při testu snadno opsat, a podobně chceme utajit seznam tolerovaných slov z obavy ze zneužití uchazeči. Připravili jsme skrytí vzorců a zamknutí listu s heslem, které zná i makro.
Podkladová úloha: Pracujeme se sešitem, v němž je formulář, jejž je třeba vyplňovat. Nedávno nás předseda klubu překvapil požadavkem, že chce posuzovat znalost Kafkových děl, která uchazeč četl. Už jsme mu poskytli hrubé fungující řešení, ale musíme to dotáhnout do vyšší dokonalosti. Stáhněte si sešit 2012-20 UD-funkce.xlsm z odkazu na konci článku. Sešit otevřete. Uvidíte zhruba toto:
Jak vidíte na obrázku, uživatel by se mohl dovtípit, že někde v tomto sešitě všechny názvy jsou, ale ani vzorce, ani záložka s názvem „Tajný list“ mu to neusnadňují.
V rámci „štábní kultury“ tedy povolíme zápis do všech buněk, kam má uchazeč něco psát (pro konzistenci výkladu je buňka B20 ve verzi, kterou jste si stáhli, samostatně zamčená, i když ostatní buňky v bloku již najdete odemčené. Jako domácí úkol si tuto buňku rovněž odemkněte):
Správně budeme muset po uzamčení listu všechny činnosti, které smí uchazeč provádět, sami vyzkoušet. V našem případě je zde jedno skryté nebezpečí, které v našem příkladě tak trochu díky šťastné náhodě nebude zlobit, ale při jiné konstrukci dat by se mohlo negativně projevit. Jedná se o ovládací prvek nabízející výběr znamení zvěrokruhu:
Poznámka: Pokud se chcete podívat na vlastnosti prvku ComboBox,…