Příspěvky uživatele


< návrat zpět

Strana:  « předchozí  1 2 3 4 5 6 7 8 9   další » ... 16

Mám pocit, že byste rád věřil, že mi to nefunguje 4 . Ukázka v příloze funguje v E-2010. Jestli to ve vašem E-2007 neběhá, pak je to věcí Microsoftu a nedokumentovaných změn v něm.

Řekl bych, že Marjankaj nejspíš nepochopil, proč jsem ten příspěvek napsal. Nešlo mi o to, že obrázky mají vlastnost OnAction. Šlo mi o to, že lze vytvořit Shape typu Group, který si zachová citlivost interních prvků na individuální kliknutí myší. Toho efektu si naopak všiml eLCHa. Mimochodem, tento efekt je k dispozici až od E-2007. Do té doby měl Group nedostupnou vnitřní strukturu, dokud se nerozdělil.
Ani jeden z nich však nereagoval na efekt, při kterém je přemístění kurzoru nad tlačítkem formuláře provázeno zobrazením vysvětlujícího textu. U tlačítka formuláře zabere skutečnost, že Comment buňky zůstává aktivní i pod tímto prvkem (o tom jsem nikde nečetl a objevil jsem to zcela náhodně). Když tedy buňku pod tlačítkem opatříme komentářem, bude se tento komentář ukazovat při přechodu kurzoru nad tlačítkem.
Pro tlačítka Active-X na listu tento efekt nefunguje (nejsou pro komentář "průhledná"). Navíc pro tlačítka Active-X na listu není k dispozici vlastnost ControlTipText.
Vysvětlivky k funkcím tlačítek pokládám za jeden z prvků, zvyšujících kulturu obsluhy listu. Dá se to řešit více způsoby. Způsob jejich zobrazení při přesunu kurzoru přes tlačítko pokládám za velmi sympatický.

Tlačítka na listu jsou obvykle nudná a podobná si jako vejce vejci: šedý obdélníček s nápisem. I když si u tlačítka ze sady Active-X mohu změnit alespoň barvu pozadí nebo na tlačítko umístit obrázek, pořád s jeho tvarem obdélníka neudělám nic.
Pro inspiraci posílám ukázku poněkud veselejších tlačítek. V tomto případě jde o typ tlačítek s více sdruženými funkcemi, které jsou reprezentovány samostatnými prvky, odlišenými tvarem, případně i barvou. Navíc pro svůj vzhled používají vybrané zobrazovací efekty (jako jsou barevné přechody a osvětlení).
Ke grafickým tlačítkům přidávám standardní tlačítko formuláře, které při přechodu kurzoru nad ním poskytuje vysvětlující text pro jeho význam.
Pokud vás ty efekty zaujaly, zkuste přijít na to, jak se podobná tlačítka dělají. Není to žádná věda a může se vám to někdy hodit.

Trochu mne překvapuje zděšení, které tato zpráva tady vyvolává. Nejde o žádný převratný příchod nenahraditelných schopností, ale spíš o zvýšení komfortu při psaní vzorců. Kdo píše aplikace pro druhé, musí se vždycky brzdit ve využívání novinek, protože by jinak riskoval, že jeho aplikaci nebudou moci všichni zájemci používat. Ještě v roce 2012 jsem pro klienty aplikace psal zásadně tak, aby běhaly jak v ribbonovém prostředí, tak na XP. A to je nepoměrně větší omezení, než nemožnost použít pár nových funkcí listu z E-2016. Jak jsem se na ty novinky zběžně kouknul, jsou sympatické, ale život bez nich si umím docela dobře představit. Prostě si nastuduji, co dělají, abych jim rozuměl, když se ke mně dostanou, a tím to pro mne končí. Sám budu vzorce psát dál po staru a po svém...

Dostal jsem upozornění na odkaz, kde se popisuje několik třeskutě nových funkcí listu. Asi jde o nové funkce pro E-2016, ale určitě stojí zato se kouknout, např.:
http://vyuka-excelu.cz/navody/funkce/ifs-vyber-z-nekolika-moznosti/

Za vlastní propagaci se omlouvám. Nemám důvod se podbízet. Jde o prostou snahu říct, že vím, co říkám. Pokusím se podobné poznámky omezit.
K unikátnosti algoritmů jen tolik, že znám dva vyhraněné typy vývojářů: jednu hranici tvoří ti, kteří nenapíšou nic, co neopíšou od někoho jiného. Druhou hranici představuje strýc František ze Saturnina se svým prohlášením "dodejte mi suroviny, chemii už vymyslím sám". Svým naturelem se blížím tomu strýci. Strašně rád vymýšlím a strašně nerad opisuji. Navíc jsem zjistil, že neumím hledat. Proto jsou pro mne moje vlastní algoritmy unikátní, i kdyby je stokrát přede mnou a stokrát po mně vymyslel někdo jiný.

Zobrazený konflikt je zjevně vyvolaný způsobem, jakým byly ke zdrojovému listu přiřazeny jeho názvy (Vzorce / Definované názvy). Při kopírování tohoto listu u vás dochází k tomu, že by měl pro nový list vzniknout nový název se stejným jménem. Nejsnadnější postup je zadat Ano pro horní upozornění z ukázky ve vašem JPG. Jeden název pak začne sloužit oběma listům současně. Na dálku ale neumím říct, jestli to je ve vašem případě logicky správná odpověď. U cizího sešitu to může být složité rozhodnutí. Asi bych to zkusil povolit a následně bych si ověřil, jestli se po přidání listu sešit dál chová, jak se chovat má. Přesnější by bylo provést analýzu obsahu kritického názvu a rozhodovat se na jejím základě. Také byste si mohl obsah názvu opsat, před kopírováním ho zrušit a po něm ho zase obnovit. Vše záleží na tom, na co se cítíte.

Excel umožňuje vytvořit jako jednu výstupních forem sešitu také webovou stránku, kde se v jediném souboru .mht skrývá úplná výbava takové stránky. Rozhodně nejde o úsporný způsob, jak stránku vytvořit, ale pro publikování na netu to představuje autorsky velmi pohodlný prostředek, který plně zachovává grafický obsah listu, oproštěný od vzorců. Zatím jsem se na diskusních fórech s touto možností publikace sešitů nesetkal. V příloze je nástroj, který umožňuje tuto transformaci provést v jednom uceleném kroku.

ALe, připadá mi to jako strkání hlavy do písku. Jde o legrační předpoklad, že když něco nevím, tak to není. Open Office je veřejně dostupný produkt a používají ho miliony uživatelů, navíc zcela legálně a zcela bez omezení. Všichni uživatelé Open Office mají k této "službě" volný přístup a většinou o tom vědí. Podle vás by se to mělo před vývojáři Excelu tutlat? To mi přijde lehce schizofrenní. Až někdo Open Office zakáže a lidé se k němu budou dostávat podloudně, pak jeho jméno nikde uvádět nebudu.
Znovu opakuji: nenabídl jsem způsob, jak ohrozit funkčnost hotové aplikace prolomením jejího hesla. Napsal jsem ale, že přečíst si její kód lze i bez toho pomocí legálního a velmi rozšířeného prostředku pro zpracování dat. Je to trochu jako o drogách: když nepovolíte marijánku, skončí spousta lidí zbytečně na perníku nebo na heráči.

Vše nasvědčuje tomu, že vaše úloha je tak jednoduchá, že nevyžaduje žádné nové vymoženosti Excelu. Dokud ale nepošlete příklad, nedočkáte se asi ani návrhu na řešení. To se vám zřejmě pokusil naznačit marjankaj 1 .

pro AL:
Open Office jsem nepsal já. Sám jsem autorem tak rozsáhlého SW pro Excel, že bych byl rád, kdyby mé kódy byly chráněny lépe. Open Office používají miliony uživatelů a stovky tisíc jeho schopnost číst v něm excelské kódy znají. Nevidím žádný důvod, proč to tajit zbytku světa, natož pak vývojářům v Excelu.
Každý, kdo pokládá Excel za datově bezpečné prostředí, se dopouští omylu. Každý, kdo si myslí, že v něm ochrání své duševní a autorské vlastnictví, se chová nerozumně. Hesla v Excelu nejsou bezpečná a slouží výhradně k tomu, aby laický uživatel nemohl nechtěně vytvořenou aplikaci poškodit. Všechno další je jen utopie a zbožné přání.
A teď zpátky k údajnému rozporu v mém příspěvku. Jsem velmi ostře proti jakémukoliv prolamování hesel, které může vést k narušení algoritmu hotové úlohy. Moje rada tohle způsobit nemůže; uvedl jsem ovšem způsob, jak si její kód VBA přečíst, pochopit a myšlenky z něj případně aplikovat ve svém projektu. Pokud ten rozdíl není někomu dostatečně zřetelný nebo je mu to málo, může se na mne zlobit. Vyzradil jsem veřejné tajemství. Můžete začít sbírat kameny...

Jde o mimořádně frekventovanou úlohu a vlastně o základ pro použití tlačítek.
Zapište do obecného modulu VBA makro (tj. proceduru Sub bez parametrů), která bude umět požadovanou akci provádět. K tomu můžete dokonce využít funkci makrokamery. Často to tak sám dělám, jen to vygenerované makro zpravidla vyčistím od balastu (zejména od zbytečných dvojic Select / Selection, kterými se automatická makra zpravidla jen hemží). Pokud to uděláte a pokud chcete, aby ta procedura spolupracovala s aktuálně vybranou oblastí, nazývejte až tuto oblast v makru jako Selection. Ověřte si funkčnost makra spuštěním z nabídky Zobrazení / Makra / Zobrazit makra. Až budete s činností makra spokojený, umístěte tlačítko na list a připojte k němu právě otestované makro. Od té chvíle se vaše makro spustí pokaždé, když na tlačítko klepnete.
Jen nechápu, jak to souvisí s tiskem pro Excel2003. A také neumím být konkrétnější. To bez příkladu ani nejde.

Naprosto ctím zásadu, že pokud někdo VBA zamknul, pak si nepřál, aby s ním někdo něco dělal. Je to důležité např. tehdy, když chceme účinně chránit funkčnost svého sešitu proti neodborným zásahům do kódu. Tady jsem plně zajedno s názorem, že prolamovat hesla je nebezpečný a nemorální čin.
V Excelu píšu kódy VBA už 16 let. Na svém disku najdu své vlastní sešity z přelomu tisíciletí, ve kterých jsou projekty VBA zamčené hesly, která jsem dávno zapomněl. Zpravidla jde o chytré kódy se speciálním určením a unikátním algoritmem (jinak bych je tenkrát nezamykal a dnes bych je nehledal). A tak v těchto případech stojím před vlastním domem se zamčenými dveřmi, od jejichž zámku jsem ztratil klíč.
Pro každého, kdo se chce dozvědět, jak je zamčený kód VBA napsaný, mám dobrou zprávu. Současně s tím to je špatná zpráva pro všechny z nás, kteří bychom rádi svůj algoritmus úplně ochránili před cizími zraky.
Pokud si chce kdokoliv přečíst, jak je napsaný kód VBA, vůbec nemusí žádná hesla prolamovat. Stačí nainstalovat si zdarma některou z verzí OpenOffice a prohlédnout si excelský sešit v Calcu. Nebude dlouho hledat a kód VBA tam najde, a to bez ohledu na to, jestli ho někdo v Excelu zamkl nebo ne. Fungovat sice ten kód nebude, ale jeho text je tam k dispozici nejméně pro čtení. Ten, kdo kódy VBA umí číst, v podstatě víc nepotřebuje...
Objevil jsem to před dávnými lety a byl jsem šokovaný z toho, že to Open Office dělá. Když jsem zkusil pod rouškou tajemství o tom říct kolegům, zjistil jsem, že to už všichni vědí. Zkusil bych to chování teď pro jistotu znovu ověřit. Před měsícem mi ale v opravně "odborně" zničili půlku obsahu mého disku včetně mých instalací Open Office. Zatím jsem se k nové instalaci Open Office nedokopal. Nemám zatím ale žádnou indicii, že by se Calc k mým zamčeným projektům VBA začal chovat jinak.

Píšete rychleji, než myslíte! Pro řízení turnajů bez použití VBA jsem vytvořil a taky zveřejnil velmi bohatou nabídku možností. Vtip je v kritériích pro stanovení pořadí. Jsou kritéria, která lze pomocí vzorců zvládnout snadno, a jsou taková, na která jsou vzorce krátké. Kritéria ČMBS mezi ně patří. Pokud je pomocí vzorců zvládnete, navrhnu vás na Nobelovu cenu. Prosím, abyste příště odpovídal jen na to, co si opravdu přečtete a taky zvážíte!

Pro poolové soutěže platí níže uvedený předpis. Před deseti lety jsem byl okolnostmi přinucen tuto úlohu řešit a vyřešit. Pokus o její řešení pomocí vzorců je podle mne předem odsouzený k neúspěchu. Ani ve VBA to není jednoduchá záležitost. Nebýt toho, že VBA umožňuje rekurzi, nejspíš bych neuspěl.
V případě, že by to někdo chtěl použít, může se na mne obrátit. Upozorňuji ale, že poolové soutěže nepřipouštějí remízy. Ono by asi jinak nešlo použít kritérium s vítězem vzálemného zápasu.
Pravidla ČMBS pro stanovení konečného pořadí v soutěžích každého s každým
1. Hlavním kritériem je celkový počet dosažených výher ve zcela vyplněné výsledkové tabulce
2. Pokud jsou právě dva účastníci hodnoceni shodně, rozhoduje výsledek vzájemného zápasu
3. Při shodném počtu výher více účastníků rozhoduje redukovaná tabulka vzájemných zápasů
4. V redukované tabulce vzájemných zápasů je hlavním kriteriem opět počet dosažených výher
5. Nerozhodne-li počet výher v redukované tabulce, rozhoduje bodový rozdíl redukovaného skore
6. Nerozhodne-li rozdíl redukovaného skore, vezme se v potaz bodový rozdíl celkového skore
7. Pokud žádné z použitých kriterií nerozhodlo o pořadí, rozhodne sehrání penaltového rozstřelu


Strana:  « předchozí  1 2 3 4 5 6 7 8 9   další » ... 16

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse