... a dále jsem nečetl. Je mi jasné, že jako pokaždé i zde je to pouze pro vlastní potřebu v případě zapomenutého hesla...citovat
Zaslal/a Vovka 20.11.2015 9:40
Na netu jsem před časem našel půvabný algoritmus ve VBA, který funguje jako univerzální šperhák na hesla jak pro strukturu sešitu, tak pro obsah listů (nikoliv ale pro hesla na projektu VBA). Funkci jsem ověřil a mohu potvrdit její účinnost i rychlost.
Rozhodl jsem se proceduru upravit do podoby doplňku, abych ji měl víc po ruce. Při této příležitosti jsem se pokusil o její další zrychlení vhodnými zásahy do původního algoritmu. Účinek těchto zásahů jsem chtěl vyhodnotil pomocí zabudovaného měření doby trvání.
Výsledek mne nemile zaskočil. Výsledek mých zásahů do algoritmu se projevil jen zcela bezvýznamným zrychlením. Zato použití shodně zaheslovaného sešitu pro srovnávací testy mi poskytlo možnost porovnat rychlost přímého využití algoritmu z paralelně otevřeného sešitu s jeho využitím v podobě doplňku.
Efekt, který se dostavil, jsem nečekal a také jsem se o možnosti podobného účinku nikde nedočetl. Zaheslovaný sešit má tři listy, každý zamčený jiným heslem, a k tomu je tento sešit zamčený jak pro strukturu, tak pro okna dalším nezávislým heslem. Sešit s prolamovacím algoritmem mám ve dvou provedeních: (1) jako xlsm, (2) jako xlam (doplněk). Obsahově jsou obě provedení totožná.
Rychlost práce aktivovaného doplňku (xlsm+xlam): 32,023 sec
Rychlost práce souběžně otevřených sešitů (xlsm+xlsm): 7,676 sec
Jinými slovy totožný algoritmus, spuštěný z doplňku, mi běží čtyři a půlkrát pomaleji, než stejný algoritmus z paralelně otevřeného sešitu. Tomu efektu nerozumím a neumím si ani představit jeho příčinu.
eLCHa napsal/a:
Pokud Vás to zajímá - připravte jiný kód, dejte jej do sešitu a do doplňku. Otestujte a pokud se to bude chovat stejně, vložte to sem. Třeba na něco přijdeme. Pokud se budeme bavit teoreticky, určitě nepřijdeme na nic.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.