VBA - zobrazení více listů po zadání hesla



Ahoj, mám napsané makro, které mi po zadání hesla zobrazí skrytý list. Potřebovala bych ale, aby se mi po zadání hesla zobrazilo více listů, které spadají pod dané heslo (člověk s jedním heslem může vidět jeden a více listů).Např:Case "123" Worksheets("list2").Visible = TrueCase "456" Worksheets("list3").Visible = TrueCase "456" Worksheets("list5").Visible = TruePo zadání hesla 456 se mi zobrazí pouze ten první list, nikoliv list3 a list5. Máte nějakou radu?Děkuji
Case "123"Worksheets("list2").Visible = TrueCase "456" Worksheets("list3").Visible = TrueWorksheets("list5").Visible = True...
<p> <a href="http://www.johnkerl.org/doc/mail-how-to.html">tato stránka</a> podrobně popisuje interaktivní příkaz a je ve skutečnosti poměrně důkladným návodem. popisuje příkazy jako <code>z</code> a <code>z-</code>:</p><pre><code>if there is more than a screenful of messages, then z will show the next screenful, and z- will show the previous screenful. </code></pre> <p>mám sklon souhlasit se svým šéfem :) možná, že skutečná aplikace má jiný pocit, ale podle vzhledu makety se nezdá být velmi elegantní.</p><p>co se stane, když po výběru podkategorie změním kategorii, resetuje se tato podkategorie? a pokud vyberu několik kategorií, obsahuje rozbalovací nabídka podkategorie podkategorie všech kategorií, které jsem vybral?</p><p>výběr několika kategorií současně vyžaduje hodně práce, protože rozevírací seznam se po kliknutí zavře a je třeba jej znovu otevřít po každé přidané položce a znovu ji naskenovat, abyste našli další potřebnou položku.</p><p>vaše odpověď zní jako rozevírací/vyskakovací strom se zaškrtávacími políčky.</p> Říkáte, že máte dostatek potíže jednu kostku, aby zobrazoval ... takže jsem si jistý, jestli máte jeden pro zobrazení nebo ne.


V podstatě ... dát svůj kód pro psaní kostku v jedné funkci, pak už jen volání funkce 100krát.



```
void DrawCube()
{
    //code to draw the cube
}

void DisplayCubes()
{
    for(int i = 0; i < 10; ++i)
    {   
         for(int j = 0; j < 10; ++j)
         {
             glPushMatrix();
             //alter these values depending on the size of your cubes.
             //This call makes sure that your cubes aren't drawn overtop of each other
             glTranslatef(i*5.0, j*5.0, 0);
             DrawCube();
             glPopMatrix();
         }
    }              
}

```

To je základní přehled o tom, jak byste mohli jít o to udělat. Pokud se chcete něco účinnější nahlédnout do display listy někdy Jakmile budete mít základy přišel :) <p>chtěl bych vidět dynamicky se rozšiřující pole podrobností, takže můžete poskytnout volitelně více podrobností o konkrétních oblastech zkušeností (například fragment kódu nebo složitější informace o projektu), pokud by si zájemce přál více. tímto způsobem si ji udržujete jednoduchou a čistou, ale ukážete jim, že je pod kapotou více, pokud by ji chtěli vidět.</p> <p>jednoduše poskytnete všechny vzory pro <code>-i</code> příkaz oddělený <code>|</code>. z manpage:</p><pre><code>-p pattern list only those files that match the wild-card pattern. note: you must use the -a option to also consider those files begin‐ ning with a dot `.' for matching. valid wildcard operators are `*' (any zero or more characters), `?' (any single character), `[...]' (any single character listed between brackets (optional - (dash) for character range may be used: ex: [a-z]), and `[^...]' (any single character not listed in brackets) and `|' separates alternate patterns. -i pattern do not list those files that match the wild-card pattern. </code></pre><p>tak například</p><pre><code>tree -i 'test*|docs|bin|lib' </code></pre><p>přeskočí adresáře „docs“, „bin“ a „lib“ a jakýkoli adresář s názvem „test“ v názvu, kdekoli se mohou nacházet v hierarchii adresářů. samozřejmě můžete použít zástupné znaky pro mnohem silnější shodu.</p> <p>můžete zobrazit novou položku pod/nad aktuálně zobrazeným seznamem, ale oddělené, takže je jasné, že položka na této stránce nepatří.</p><pre><code> 1. make a to-do list today 2. new year's resolution jan 1 3. join the gym jan 2 4. answer a ui.se question jan 2 ^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^ 17. stop procrastinating apr 1 page [1] 2 3 4 5 </code></pre> <p>řekněme, že máte tabulku, kde si uložíte heslo pro každou osobu.</p><p>chcete-li „vygenerovat“ vygenerované heslo, postupujte následovně</p><ol> <li>získat přihlášení od uživatele</li> <li>získat heslo</li> <li>generovat nějakou sůl z náhodných hodnot. řekněme, že z/dev/random (jak navrhl @michal), dostanete "a12bc34de56fg"</li> <li>k vygenerování hashovaného hesla použijte nějakou hashovací funkci. řekněme, že původní heslo bylo „1password“ a použijete libovolné sha hašování).</li> </ol><p>hashed\_password = sha (sha (sha (.... sha ("1passworda12bc34de56fg"))))))))))))</p><p>uložte do tabulky hashed\_password s přihlašovacím jménem a solí.</p><pre><code>login password salt  john a7b82783... a12bc34de56fg </code></pre><p>poté ověřte, kdy uživatel přistupuje k vaší aplikaci:</p><ol> <li>získat přihlašovací jméno a heslo</li> <li>načtěte sůl z tohoto přihlášení z databáze (budete mít sůl: a12bc34de56fg)</li> <li>zřetězte obyčejné textové heslo solí a znovu proveďte všechny hašování:</li> </ol><p>hashed\_password = sha (sha (sha (.... sha ("1passworda12bc34de56fg"))))))))))))</p><p>ověřte, zda je vypočítané hashed\_password stejné, jaké bylo uloženo v databázi. budete vědět, zda bylo heslo správné nebo ne.</p><p>a je to!. sůl můžete získat z libovolného náhodného zdroje, který se vám líbí. proč by to mělo být náhodné? vzhledem k tomu, že jakákoli jiná náhodná sůl bude mnohem snazší pokusit se brutálně vynutit vaši aplikaci.</p> Takže jste se ptali, jak zvládnout práci na násobku „úkolů“ najednou, ne? S výjimkou větvení.


Můžete mít více checkouts ze zdroje na lokálním počítači, suffixing název adresáře s názvem lístku, na kterém pracujete. Jen se ujistěte, aby se změny ve správném adresáři, v závislosti na úkolu ...


Směšování více úkolů v jedné pracovní kopii / commit může být velmi matoucí, zvláště pokud někdo potřebuje, aby svou práci zkontrolovat později. <p>obě řešení jsou naprosto přijatelná, při volbě vezměte v úvahu tyto body:</p><ul> <li>vyskakovací okno na mapě může skrývat další užitečné informace</li> <li>více než několik vyskakovacích oken se rychle zaplní. je to v pořádku, pokud je současně otevřen pouze jeden z nich</li> <li>množství informací ve vyskakovacím okně musí zůstat malé</li> </ul><p>na druhé straně se zobrazují informace vedle mapy:</p><ul> <li>ztratíte spojení s bodem zájmu, takže musíte přidat vizuální vztah (barvu, číslo, ikonu, čáru ...) s bodem na mapě. toto spojení je obtížné nebo obtížně čitelné, když máte spoustu bodů</li> <li>pro zobrazení dodatečných informací může být pro uživatele nutné určité posouvání/změna velikosti okna</li> </ul> <p>existuje několik možností. podívejme se na následující:</p><p><img src="https://i.stack.imgur.com/dd9mb.png" alt="alt text"></p><ul> <li>karát ("&gt;") vždy obsahuje více informací o položce</li> <li>použití ellipsis je také jasným ukazatelem, že zobrazené informace jsou částečné</li> <li>„zobrazit více“ je standardní, ale obvykle znamená zobrazit více položek.<br> možná by bylo při přidání přípony „info“ zřejmé, že stisknutí show more more by ve skutečnosti rozbalilo každý řádek a zobrazilo více informací.</li> </ul><p>samozřejmě můžete také vytvořit vlastní ovládací prvky, které by umožňovaly zobrazovat další informace na stejné obrazovce. možná něco jako:</p><p><img src="https://i.stack.imgur.com/y0ix6.png" alt="alt text"></p>