Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 Re: Co se jinam nehodí... » Volání speciálních znaků » Dnes 08:46:17

Koukám na Váš poslední příspěvek, ačkoliv jsem hledal něco jiného a musím reagovat. To co jsem popsal Vás asi opět iritovalo, ale má se sto tak, že hledám řešení pro nalezení identifikační rozdílnosti mezi znaky UNICODE (16 bit) tedy mezi zástupnými znaky a znaky normálními. V tom si asi rozumíme.
    Moje hledání spočívá v nalezení formátu zástupných znaků. Oni jsou tam i když si myslíte, že je buňka prázdná - tak jak uvádíte. To je omyl - jsou tam stále. Když tu prázdnou buňku vložíte jen jako text, tak opticky zmizí, ale postavte na ni vzorec UNICODE a uvidíte, že tam ten znak pořád je, nebo na ni dejte dotaz LEN() a bude tam jednička.
    Navíc "prázdná buňka" jakoby bez zástupného znaku je například jen u určité podmnožiny názvu znakové sady. Konkrétně z množiny Liberation (Sans, Mono, Sans Narow, Sherif) se takto chová jen Sherif. Tento nevykresluje náhradní znak, i když tam stále je. Ostatní ho vykreslují.
    Takže "skrývání" zástupného znaku je docela záludné a záleží na podmnožinách a znakových sadách. Zde je problém přenostu písem podle OS. Takže totéž pod Windows nemusíte najít pod Unixem a podobně.


    Zkoušel jsem ledacos. Když se náhradí znak vykresluje, tak se řadí implicitně doprava jako číslo. Když nemá náhradní podobu, tak je férově nalevo jak písmo má být. Takže jsem hledal například informačními funkcemi, logickými deriváty, běžnými aritmetickými operacemi a nic.
    Hledal jsem bez úspěchu také skrávání Podobně jako URL v hypertextovém odkazu, barvou znaku, překrytí kerningem a tentýž neúspěch. Tak jsem začal testovat (na první pohled nelogicky) přes sebe funkce sešitu i maker. Takže jsem pouštěl na ASC, UNICODE a UNICHAR (16 bitů). Funkce ASC dělá totéž co UNICODE a UNICHAR. Zobrazí buď obdélníček, nebo číslo podle toho na co ji namíříte.
    Takže následně jsem podobné věci dělal i s "CODE" a "CHAR". Rekurzívně 8 bity na 16-ti bity a opačně.
Zatím jsem nic slušnějšího nenašel než výsledk čísla v uvozovkách, ale i to se ukázalo jako lichá cesta, ačkoliv ještě jsem to nevyloučil.


    Stejně nadějné je identifikovat zarovnání doprava a doleva. Jenomže neexistuje něco jako "ISLEFT", "ISRIGHT" - ani ve vzorci style jsem se neposunul. Až se k tomu dnes dostanu, tak bych chtěl testovat nahrávaná makra, reslektive termin ".uno:HorizontalAlignment". Tady se nabízí možnost zjistit pozici buď přímo, nebo nepřímo. Jsem ale skeptik. Uvidíme

#2 Re: Co se jinam nehodí... » Volání speciálních znaků » Včera 15:44:38

pro kamlan
    Tak jste mne nakopnul i když se mi nechtělo. Vaše makro nemá pro Calc velký význam, ale má velký právě pro Writer ve kterém potřebuji psát. Ráno se fóru málokdy věnuju, jen když otevřu ráno počítač, a pak až někdy odpoledne. A tak jsem se zamyslel a hledal kontext speciálních znaků - zejména popisy. Našel jsem v angličtině docela slušný obsah.
    Po celkem složitém převodu : originál html na PDF a zpět český překlad z PDF do html jsem html (překlad html se nedá uložit) jsem načetl tento do Writer (html), zkopíroval obsah a vložil do normálního Writer, který se nenafukuje. Tato procedura některé speciální znaky, nebo obrázky ztratí, ale to co udrží je evidnetně funkční v relacích Serif (Liberation) v html je použit "Times" bez New Roman.
    Takže stačí vyhledat dostupné znaky z přeloženého textu a mám kontext. V Calcu najdu ke kontextu čísla Unicode, a už je to veselejší - celkem to zabralo asi 2 hodky.


    Pro pokračování v práci mi to postačuje v té formě jakou mám, a až dostanu správnou inspiraci a chuť tak dohledám ty znaky, které Serif neumí. Možná ještě budu hledat podobnou stránku, která obsahuje přímo čísla Unicode, to by bylo snadnější hledání.
    Prostě vydoluju čísla znaků, jejich kontext, znakové sady a sestavím něco jako šablony v PsPadu, nebo databázi. A když mne to nepřejde, tak udělám i rozšíření, ale takových předsevzetí už jsem měl více a nejvýš rozpracoval a odložil :-)

#3 Re: Calc » Formát vzorce pro zobrazení času - vyřešeno » Včera 14:48:11

Na to se musí jinak. Stačí odkázat na buňku s formátem třeba A1 [HH]:MM:SS a do B zadat VALUE(A1). Pro Vámi uvedený příklad je výsledek VALUE() = 1,40625. Tento fígl vypíše čas ve dnech (celá část čísla) a za desetinnou čárkou jsou hodiny + minuty + vteřiny.
     Rozdělení čísla za desetinnou čárkou pomocí modulo, příklad pro 33:45:00 MOD(1,40625;1) = 0,40625 a z toho podobně vymakáme minuty, nebo i vteřiny.
     Za desetinnou čárkou uděláme normální formát HH:MM:SS, nebo 0,40625 * 24 = 9,75 a 0,75 je třičtvrtě hodiny, což zase můžeme 0,75 * 60 = 45 minut. Vše řešíme pomocí MODULO(), a INT() buď 1, 24, a 60.

#4 Re: Co se jinam nehodí... » Volání speciálních znaků » 3. 8. 2021 18:36:53

Chodí super díky. Ty náhradní znaky Vás v příspěvku #6 zarazily. Přestože se v okně speciálních znaků nic nezobrazuje, tak je to vidět v Calcu hledal jsem pomocí UNICHAR(ROW) a tam to bývá vidět jako obdélníček, který ale vrací UNICODE jako číslo znaku, jsou ale stejné jako číslo existující. Takže toto dělá makro stejně.
     Náhradní znaky se načítají do ASC jako jako číslo v uvozovkách. Konkrétně "63". Takhle se funkce ASC nechovala a znázornila vždy 256 hodnot jako písmena. Ale dík tomu je vidět stejný znak pro hodnoty neexistujících tvarů UNICODE. Takže už schází jen iterovat celé sloupce s podmínku na ASC = "63", aby místo znaku zůstala prázdná buňka, nebo jen vybraná čísla plus procházet různé znakové sady. To budou také asi čísla s podmnožinami. Ale celkově jako základ je to dobré a celkem rychlé. Díky

#5 Re: Co se jinam nehodí... » Volání speciálních znaků » 2. 8. 2021 16:00:53

Jj díky za reakci. Tento příspěvek je tak napůl o tom jak vylepšit LO (AOO). Osobně bych možná dokázal sám něco stvořit, ale mám tendenci dělat jen to co potřebuji. Takže bych v případě, že bych svůj postoj přehodnotil, asi bych šel kuchat to rozšíření a něco omrknout, dodělat, předělat ap.


     Za nejsnadnější výpomoc bych považovat i to, když by fonty, které hledaný znak podle čísla neobsahují zešedly. Takový postup je běžný v rámci hlavního menu. Položky, které nelze použít zašednou. Samostatně vypsané fonty ve dvou podmnožinách (patkové, nepatkové) seřazené jednotlivě alfabeticky by byly lepší.
     K tomuto, nebo snadnějšímu zašednutí položek je potřeba otevřít zdroje písem, což jsou v nativní podobě obrázkové mapy, takže je vhodnější použít výpis Unicode do Calcu a co druh písma, to sloupec. Makrem prošacovat znakové sady, které znak používají by mělo jít - vyloučit případné náhradní znaky (když sada znak neobsahuje) také. Jednotlivé znakové sady vytvořit jako relaci (1 znak : x fontů) a doplnit číslo charu plus význam podle oboru (když už se to dělá, tak dobře) jednotlivě není problém, ale je to pracné. Zejména významy v různých oborech. Jen samotná matematika používá nejspíš více nežli tisícovku výrazů, které mají jeden znak. Rozchodit nějaké volání by neměl být velký problém, ale dohromady bych to viděl na mnoho týdnů práce aby to za něco stálo. Je to na týmovou práci. Není to pro jednoho chlapa i když je mu 17 (mně ano, ale hned 4x). :-)

#6 Re: Co se jinam nehodí... » Volání speciálních znaků » 1. 8. 2021 16:25:55

Faktem je, že když mrknete na písma, v Math, tak tam můžete zvolit typ písma, například podle toho jestli jsou patková, nebo nikoliv. Samotný Math má přednastaven Arial a když se podíváte na tabulku znaků tak nic moc. Dá se to dohnat, ale je to práce navíc.
     Přes to musím uvést, že má celkem dobře sestrojené podmnožiny. To by šlo udělat jako podmnožiny fontů snadno. Já například často používám Cambria která má mnohem víc potřebných symbolů Liberation Sherif a umí češtinu. Je jenom otázka co to udělá s převody formátů. Vím, že čistý převod do PDF s tím problém nemá, ale nevím co třeba převod do ePub, nebo jiného formátu. Kdysi jsem používal převod do html a dnes původní dokument po export má chyby - původně vytvořené html (htm) formát drží a je to 20 let. To je zásluha spíš serveru, ale dnes se do toho bojím sáhnout.


     Tím zlepšením jsem myslel například postup výběr znaku Unicode a když sada tento nemá, tak by výběr znakových sad mohl nabídnout sady které znak obsahují, popřípadě s poznámkou "patkové" a podobně. Já samozřejmě používám v Calcu funkce Unichar() a Unicode() a najdu, jenže je to porce. Takže raději si opíšu čísla v šestnáctkové, nebo lépe v desítkové soustavě a hledám znak podle čísla. Ale to také pracné i když měně, nežli procházet veškerý sortiment, který navíc potřebuji často zvětší.
     V editoru speciálních znaků existuje také vyhledávání podle názvu, ale málokdy se trefím. Je to v angličtině a snadné je například "Phi", ale zkratky pro všechny speciální znaky tak snadno nejdou. Možná by pomohl i seznam zkratek tak aby se dohledala zkratka fulltextem a podobně.


     Když píšu potřebuji zjednodušit obsah tak, aby nepřeformátoval řádky a nebyl to obrázek, což se často musí. Editor vzorců Math potřebuji jen někdy kvůli zvýraznění důležitosti, nebo když by textový vzorec byl nepřehledný. Pomocí indexů lze ošidit mnoho vzorců, ale nejde dobře napsat "lim" a pod ní od do. Potom když už by to nebylo svižně čitelné použiji Math. Například vzorce typu kombinací v závorkách "n" nad "k" zaměním za C(n,k) podle syntaxe která je správně =Combin(n;k) a podobně, takže takto řeším velký objem vzorců.
     Takže specializovaná znaková sada s detailními matematickými podmnožinami by bylo nejlepší řešení, ale stačí i relativní maličkosti - seznam zkratek vyhledávání v okně speciálních znaků, nebo nabízet relaci x:y když předvolená sada něco neobsahuje. Překreslování sad má ještě problém s možnými kolizemi autorských práv a je to pracné. Velikostí musí být mnohem více. Calc používá implicitně velikost písma 10, Writer 12, pro převody do doc také 11 a podobně. Pak je potřeba také velikost indexů - alespoň 2 velikosti, Bold, italic a underline a podobně. Takže práce hodně.

#7 Re: Co se jinam nehodí... » Český translátor » 1. 8. 2021 15:39:10

Díky otestuji, ale není to offline - to bych přivítal. Zejména když by translátor šel tagovat z LO. Ale co není může být a může se rychleji rozvíjet pokud bude dost lidí na vývoj. Možná bude jednou i rychlejší nežli Google. :-)

#8 Re: Calc » Tipy na zrychlení makro výpočtů » 1. 8. 2021 15:20:37

barevnej napsal(a)

Zdravím, chci se podělit s drobnými poznatky a třeba i se zeptat zda někdo nemá také nějaké nápady třeba jak donutit využívat více vláken procesoru a ne jen jedno jediné.
_
Využívám denně spousty maker, hlavně na schovávání řádků nebo mazání řádku u několika tisícových řádků včetně obrázků a nedávno jsem zjistil jednoduchý trik, pustit dané makro na jiném listu třeba i prázdném kde je jasně v makru odkázáno že se makro má provádět na daném jiném listu než li jsem "oSheet=oDoc.Sheets(0)" Zrychlení je cca 10x smile
_
Ale i tak se ptám zda nevíte jak donutit aby makro využívalo více vláken CPU? Nebo jiný tip na zrychlení?

     To asi nepůjde, LibreOffice a stejně AOO neumí multitasking. Pracují jen s jediným vláknem, které samozřejmě přepínají podle spuštěných úloh, ale spuštěním více úloh naráz nic nezrychlíte. Časy se vlastně sčítají.
     Ještě detail makra lze spouštět jakoby "paralelně", ale jde to bez většího rizika pouze u maker, která neobsahují UNO. Když byste spustil makro v čistém Basic a druhé v UNO, tak byste splakal nad výsledkem.


     Pokud vím, tak zrychlit, znamená optimalizovat - odladit makro tak aby nedělalo zbytečné operace. Často znamená co nejvíce zjednodušit cykly a podmínky. Některé operace jako například vytváření a vybarvování rámečků jsou extrémně pomalé proti ostatním makrům.
     Například nejrychlejším cyklem je DO ... While, ale nedá se přerušit, proto se doporučuje DO ... LOOP, které se přerušit dá, ale málokdy stačí základní podmínka. Takže každé IF uvnitř cyklus děsně zpomaluje, a bývá lepší používat cyklu FOR ... NEXT, kde se například vnořuje více cyklů a každý může být zastaven samostatně, přičemž se čte vždy jen jedna podmínka. To je ale vyšší dívčí a já často potřebuji víc času k odladění, nežli k vlastní konstrukci makra a i tak zřejmě nedosáhnu plnou optimalizaci.
     Pro zrychlení cyklů, respektive odlehčení paměti je lepší podmínky vytáhnout mimo hlavní makro nejlépe do funkce. Funkce se provede - vyplivne výsledek a komp zapomene. Když je to účelné je nutno testovat koncepci - třeba vytažení funkcí, proti zjednodušení podmínek a cyklů.
     Znamená to většinou ladit stejné makro pro různé účely či množství dat. Nejlepší je použít vhodný algoritmus. Existují triky nejčastěi v podobě matematických vzorců, které lze zapracovat. Například pro zjišťování konvergence k Eulerovu číslu existují nejméně tři metody, já znám 4. Podobné je to s konstantou Pí. Tyto konstanty jsou sice zavedeny, ale když testujete konvergence, respektive aproximace, tak "hotové" konstanty nejsou k ničemu. Naposled jsem zrychlil asi 8x dík změně původně používané metody. Ale není pravidlo, že musíte zrychlovat za každou cenu. Někdy je prostě lepší spustit sady maker, které průběžně ukládají výsledky a jít na pivo, respektive pustit jiný počítač. Takže hraje úlohu i rozhodnutí co a jak potřebuji, nebo co jsem ochotný obětovat. Ladění může být časově náročnější, nežli makra na pomalo. Nejlepší je zabránit obnovování obrazovky makrem (celá obrazovka zmrzne), ale stačí srazit okno na lištu a nic nedělat - obnovuje se jen v rozumné míře. Při zmražení makrem nemáte informace co jak - není náhled a chce to vyřadit hlášky nejlépe výpisem do někam do listu - nebo i jiného dokumentu - a chyby přeskakovat. Hláška zabukuje bezpečně makro dokud ho operátor nepotvrdí. Prostě vše má svá pro a proti.

#9 Co se jinam nehodí... » Volání speciálních znaků » 31. 7. 2021 15:22:53

neutr
Odpovědí: 11

Objevil jsem určitý nedostatek. Jedná se o ikonu pro speciální znaky. Volání speciálních znaků nemá uvedenu klávesovou zkratku, má ale ikonu. Takže jsem ze zvyku hledal "modrý čtyřlístek" a nenašel. Nakonec jsem zjistil, že dnes je tam místo čtyřlístu značka Omegy. Není to chyba překladu, ani přímo programu, ale popisu ovládacích prvků.


     Možná by nebylo od věci vytvořit sadu Unicode znaků, které mají matematické, nebo technické použití. jednotlivé znakové sady mají podmnožinu "Matematický operátorů", nebo také "Různé technické symboly", ale žádná znaková sada nemá kompletní podmnožinu. Takže často je nutné potřebný znak vyhledat v jiných znakových sadách a to je třeba jediný znak mezi mnoha znaky základní znakové sady. To může dělat problémy například při převodu Writer na eBook a i jindy.
     Další záležitostí je vyhledávání podle desítkové, nebo šestnáctkové soustavy, ale hledání funguje pouze v dané znakové sadě a často se v okénku objeví hláška "Chybí znak".
     Také je trošku problém s popisem znaku - pod okénkem bývá napsán význam (spíš popis) znaku, který je v angličtině a to by už mohlo být přeloženo (Vím - nejsou lidi, ale tohle by zůstalo hodně dlouho beze změny).


     Vím, že k takovému účelu je aplikace "Math", ale mnoho věcí se dá psát i bez něho. Typicky konstanty, nebo znaky pro implikaci a ekvivalenci (nahrazuji kombinací rovnítka a porovnávacích operátorů <> - to je ale ošklivé a netechnické. Takže bych doporučil vytvořit znakovou sadu Math (myslím, že taková dříve v OOo, nebo StarOffice existovala) - podmnožiny (konstanty, porovnávací operátory a podobně).

#10 Re: Calc » Odstranění dat na základě druhého sloupce » 23. 7. 2021 05:30:33

Toto je jiná problematika, ale má také více řešení.
A) pro případ, že se v jednotlivých seznamech ze sloupce „A", „B" nevyskytují duplicity :
     Použijeme vzorec

=IF(COUNTIF($B$1:$B$1000;A1)>0;1;"")

Nejprve vložíme vzorec do C1 a odtudo ho kopírujeme dolů na konec s daty. Ihned vzorce z tohoto úseku C1:C10000 načteme do paměti a vložíme zpět jen čísla. Následně seřadíme úsek A1:C10000 podle „C" a řádky s jedničkou ve sloupci „C" smažeme. (pokud potřebujete seřadit na původní pořadí přidáte ještě sloupec s ROW(), který zkopírujete se vzorcem IF a nakonec seřadíte podle tohoto sloupce. Na závěr smažete všechny pomocné sloupce.



B) pro případ, kdy se mohou v některém sloupci původních dat vyskytovat duplicity : 
     Nejprve upravíme nejlépe na samostatných listech seznam ze sloupce „A" tak že přiřadíme značku množiny – například „a" před, nebo za sloupec se jmény. Podobně pro seznam ze sloupce „B" vybavíme značkou například „b".
     Nyní oba seznamy sloučíme do jednoho a setřídíme podle sloupce se jmény. Do dalšího sloupce („C") vložíme vzorec :

=IF(OR(A1=A2;A3=A2)=1;1;"")

     Tento vzorec použijeme ve sloupci „C" a od řádku číslo 2. (Vložíme prázdný řádek nad seznamy pokud tam už není například hlavička), a zkopírujeme do C2:C10001 (na konec sloučeného seznamu ve sloupci „C" – podle dat v„A". ). Opět celý úsek vzorců  C2:C10001 načteme do paměti a zpět vložíme jen čísla.
     Nakonec setřídíme úsek  A2:C10001 podle „C" – tím se řádky s jedničkou dostanou k sobě a tyto řádky smažeme. podobně se zbavíme zbylých jmen z množiny "b" (jsou - li tam nějaká). Opět platí, že pokud byste potřeboval původní pořadí přidáte na začátku také sloupec s ROW() a výsledek podle tohoto na konci seřadíte a tento pomocný smažete.


     Upozorňuji na to, že v seznamech mohou být málo zjevné odlišnosti. Například pokud mezi jménem a příjmením není stálé pořadí (mohou být přehozené), nebo je v jednom seznamu chyba v interpunkci (i,í) a podobně. V takových případech by se mělo testovat například jednotlivě jméno a příjmení. Jsou k tomu vzorce, ale to by už chtělo ukázku.
     Počet 10 tisíc řádků se vzorci už může být velká zátěž pro počítač, potom bych doporučil rozdělit na dvě, nebo více menších úloh apod.
     


     V podobných případech se většinou ukáže něco, co autor dotazu před tím netušil a byť se sebe více snažil, nepopsal problém validně. Takže kdykoliv na něco podobného narazíte – nebojte se znovu zeptat. Většina těch co odpovídají mají s podobným postupem zkušenosti.


PS:
     Pokud byste potřeboval mazat kratší seznam v případě ad A), změníte jen buňku testovaného sloupce plus úsek delšího sloupce ve kterém vyhledávate tedy :

=IF(COUNTIF($A$1:$A$1000;B1)>0;1;"")

Předpokladem je, že databázi úseku máte někde poznamenanou a potřebujete zachovat pouze jména z kratšího seznamu. Potom byste zřejmě zbytek sloupce "A" smazal. Jiným postupem by byl dotaz do různých listů. V případě potřeby může být dotaz veden i do různých sešitů. Postupů může být více.

#11 Re: Calc » Odstranění dat na základě druhého sloupce » 22. 7. 2021 16:13:47

Možností je více.
    Já bych doporučil vytvořit pomocný sloupec (například "C") kam zadáte vzorec pro porovnání hodnot počínaje prvním řádkem (nwbo tím který je první pod hlavičkou takto :

=IF(A1=B1;1;"")

    Tento vzorec zkopírujte do celého pole (například C1:C1000), vzorce ze sloupce zkopírujte do paměti a vložta jinak - jen čísla. Nakonec úsek A1:C1000 seřaďte podle "C". Všechny řádky s jedničkou budou u sebe a Vy je můžete naráz smazat.
    Pokud byste potřeboval zachovat původní pořadí, přidáte další pomocný sloupec (například "D") kam zadáte vzorec

=ROW()

a opět načtete do paměti a zpět vložíte jen jako čísla. Je jedno zda bude pořadí pomocí ROW() ve sloupci C a vzorec IF ve sloupci D. Oba vzorce může rozkopírovat naráz a stejně tak vložit zpět jen čísla, jenom při řazení zadáte 1. podle vzorce IF a 2. podle ROW().


Přeji úspěch

#12 Re: Calc » počet stránek vzorcem v buňce ( ne v záhl. a zápatí) » 15. 7. 2021 13:29:31

kubanecjam napsal(a)

Zdravím, zase si lámu hlavu

Jak dostat do buňky počet stránek listu - ( ne celého dokumentu a ne v záhlaví a zápatí )
Např. mám smlouvu a na poslední stránce třebas uprostřed potřebuji mít zaznamenáno kolik má celkem stránek bez ohledu na zápatí záhlaví.

Hledám nějaký vzorec apod. a nic co by mi pomohlo.. Přes countif apod. to moc nejde - nemám opakující se text apod.
A za druhé když jsem vyzkoušel countif(..první řádek nové stránky obsahuje "něco"...)+countif(..první řádek druhé stránky obsahuje "něco"..) atd tak vzheledm k tomu že list promazávám tak to nefunguje ani se zamčeným vzorcem.

A za další, nechci do listu přidávat další text, netisknutelné buňky apod. - tím že promazávám a přidávám by to asi nefungovalo jak bych potřeboval.

To nemá calc něco jednoduchého jako to počítá v zápatí a záhlaví jen aby to bylo přímo v buňkách ?

Díky

     Toto se dá zjistit snadno náhledem pro tisk. Je na to ikonka. Pokud je každá smlouva jiná - jinak rozsáhlá, tak stejně vždy musíte zadat TISKOVOU OBLAST. Bývá to vidět jako číslo poslední stránky, nebo také ve stylech a navigátoru.
     Nastavení tiskové oblasti sice není nutné, ale pak se budete divit co se jak vytisklo. Pro úpravu tisku existují makra, ale ta umí vychytat jenom to co spácháte v rámci výběru pro tisk.
     Takže když nastavíte tiskovou oblast, zobrazíte si náhled tisku a přečtete si kolik je tam celých (nebo načatých) stran - a dopíšete růčo. Také je možné použít systém pojmenovaných úseků. Pochopte, že to co se dá nastavit je dáno stylem stránky z volby FORMÁT > STRÁNKA. Vzorce ani makra nenahradí přípravu tiskové oblasti. Můžete si udělat třeba šablonu. Viděl jsem i mnoho desítek šablon ve Writer tahaných z Calcu jako zdroj dat. Šablona Writer byla pro každý různý případ (bylo to ve státní správě) kde byly formáty pro pozirivní posouzení, zamítnutí, výzvy a podobně. Takže takto se top dá řešit profesionálně pomocí sekcí, speciálních polí i maker. Jinou podobnou cestou je výstup pomocí maker která vytvoří formát ODF (DOC a podobně). Ale makra na tyto účely jsou zbytečností pokud se jedná o firmení věci vhodné pro hromadnou korespondenci.


     Máte představu, že tiskárně zadáte přizpůsobit (zmenšit na šířu stránky, nebo naopak zvětšit) a po vzorci chcete zjistil kolik stránek to po úpravě bude? Stejně musíte vždy kontrolovat jak vypadá celý dokument, nežli jde do tiskárny.

#13 Re: Calc » změna barvy ohraničení buňek - VYŘEŠENO » 11. 7. 2021 19:17:30

Problém je v tom, že používáte Aopache Open Office. Já mám verzi AOO418m3(Build:9803)  -  Rev. 18848f57b6
2020-10-29 16:56 která má ve formátech buňky letité nedostatky.


     Doporučil bych LibreOffice kde lze vybrat vše a pomocí formátu buňky - ohraničení přebarvit, nebo změnit sílu čáry. Program skutečně načte existující ohraničení a udělá změnu. Postupem může být také jednotlivě vybrat rámečky a držet Ctrl. Tak můžete vybrat a přebarvit různé čáry. Tedy je trošku umění udělat tabulku s různými tloušťkami čar, ale jde to. Apache Open Office umí přebarvit jen když zaškrtneme náhled mřížky - a to nechcete.


     Makro na to mám, ale běhá neskutečně pomalu a už jsem ho dlouho netestoval, ale umí najít existující rámečky a nastavit jim jiné parametry. Ráno se podívám. Přes to raději použijte Libre Office kterým Vaše sešity otevřete a upravíte bez většího problému.

#14 Re: Calc » Text do sloupců » 9. 7. 2021 15:07:51

Zeptám se proč nepoužijete jako oddělovač mezeru? Oddělovače lze sloučit. Navíc bych to viděl spíš na sekundární zpracování tabulky kde by se to opravilo vzorcem, nebo makrem.

#15 Re: Calc » Automatické označenie najvyššej hodnoty za čas. interval » 5. 7. 2021 17:23:36

IRate7 napsal(a)

Zdravím, ešte by som mal poslednú otázku.

Pri počítaní priemeru v mínusových hodnotách (vid. screen) za mi zaznačia automaticky najnižšie hodnoty (chápem že ich makro vníma ako najvyššie), mojim cieľom je však zozbierať čo najväčšie hodnoty aj v zápornej podobe a následne z nich vypočítať a. priemer. Je možné nejako upraviť pôvodné makro? Moja predstava je urobiť kópiu ktorú by som editoval aj pre záporné hodnoty, následne by som pre každý typ hodnôt (+-) použil inú verziu/makro. Ďakujem


     Neexistuje náhodou ještě možnost kombinovaných dat? Tedy několik kladných a několik záporných ve stejném dni. Co potom?

#16 Re: Calc » Automatické označenie najvyššej hodnoty za čas. interval » 5. 7. 2021 07:03:34

K odstranění datumů s formátem času použijte toto :

 
Sub UpravDatum 
Dim oDoc
Dim Rok, Mes, Den as long
oDoc = ThisComponent
oSheet = oDoc.CurrentController.ActiveSheet
oTargetCell = oSheet.getCellByPosition(0, 0) 
If IsNull(oTargetCell) then
GetLastRow =oTargetCell.getRangeAddress.EndRow
Else 
oCursor = oSheet.createCursorByRange(oTargetCell) 
oCursor.gotoEnd 
LR = oCursor.getRangeAddress.EndRow 
End if 
For i = 0 To LR
sVal = LEFT(oSheet.getCellByPosition(0, i).String,10)
oSheet.getCellByPosition(0, i).String = sval
Rok = MID(sval,1,4)
Mes = MID(sval,6,2)
Den = MID(sval,9,2)
'Buď hodnota kterou převedeme na formát DD:MM:YYYY (= formát 37), nebo D:M:YYYY (= formát 30)
'__________________________________________________________
oSheet.getCellByPosition(0, i).value = DateSerial(Rok, Mes, Den)
oSheet.getCellByPosition(0, i).NumberFormat = 37 
'__________________________________________________________
'Nebo jako řetězec (zarovnáno doleva), který ovšem Calc čte jako číslo
'oSheet.getCellByPosition(0, i).string = DateSerial(Rok, Mes, Den)
Next i
End Sub

     To co popisujete je ukázkou převodu z CSV (nebo jen TXT) a datum je v čistě textové formě kterou Calc nerozpoznal. Ani makro od kamlana to nepřečte správně. Není to jenom estetická vada a problém by s tím měly i vzorce. To vše stačilo řešit ukázkou dat - třeba jen 50 řádků.
     Makro z textu vytvoří čitelný formát datumu, ale chvíli to trvá. Máte na výběr dva druhy - zarovnání doleva jako text, který už Calc přečte jako číslo, nebo přímo číslo - zarovnané doprava. Variantu která se Vám víc líbí si ponechte a tu druhou smažte. (Aktivace a deaktivace kódu je pomocí jednoduchých uvozovek.)


     Kamlan by to mohl zabudovat přímo do svého kódu. Já bych jeho kód upravoval nerad - to se nedělá pokud je autor aktivní. Takže nejprve spusťíte kód výše a na něj můžete napojit před koncem makro od kamlana.


     Lze to udělat i vzorci v pomocném sloupci - například jako =LEFT(A1;10), ale toto musí být ještě upraveno tak aby vzniklo čitelné číslo - to se dělá specializovanými funkcemi. Myslím, že nyní už o vzorce zájem nemáte, proto si vysvětlování detailů odpustím.


Přeji úspěch


PS : pokud byste potřeboval originál původního formátu YYYY/MM/DD, přeformátujte buňky sloupce s datumem z volby FORMÁT > BUŇKY > ČÍSLA > DATUM a v kolonce formátovací kód zadejte YYYY/MM/DD.

#17 Re: Calc » Formátovanie tabuľky Calc - zmena vertikálnych údajov na horizontálne » 17. 6. 2021 12:58:15

Toto vyžaduje jiný postup :

Konkrétně vzorce, které detekují každý čtvrtý řádek jako MODULO(). Takže Vzorce Dejme tomu začínají až od  1. řádku,  potom následuje 5. řádek.  Předpoklad – pouze 1 sloupec, ale podobně by to šlo vybavit i pro několik sloupců.
     Vzorce  do  sloupce B, nebo C, a podobně.


Pro buňku B1 = IF(MOD(ROW();4) = 1;ROW();"")
Pro buňku C1 = IF(MOD(ROW();4) = 1; A1;"")
pro buňku D1 = IF(MOD(ROW();4) = 1; A2;"")
pro buňku E1 = IF(MOD(ROW();4) = 1; A3;"")
pro buňku F1 = IF(MOD(ROW();4) = 1; A4;"")

     Každý 4. řádek takto dostane na první místo číslo řádku, podle  kterého se bude později řadit (třídit)  aby bylo zachováno pořadí původních řádků.

A) Když máme hotový vzorec, vezmeme ho celý do paměti B1:F1 a můžeme kopírovat co mašina uveze.


B) Po vykopírování  vezmete stále vybraný (vymodřený) úsek (například B1:F1000) znovu do  paměti a vložíte ho volbou „Vložit jinak" (čísla, text, datum) a potvrdíte.


C) Vstoupíte do buňky B1001 a dáte „Vložit", nebo Ctrl+C. Po vykopírování opět Ctrl+C a vložit zpět jen jako  text, čísla,, datum…


D) Ad C opakovat až do konce souboru. Je v tom dost triků, které ani nechci vysvětlovat. Udělejte přesně co píšu. Když přejedete přes konec, tak to poznáte a smažete, tak se o to nestarejte.


E) Nyní doporučuji zcela smazat (odstranit) sloupec A. Prvním sloupcem se stane původní sloupec B.


F) Nyní Ctrl+END, podržíme Ctrl a stiskneme HOME. Celý úsek je vybrán.


G) Dáme řadit podle A1 (to je to číslo řádku), které můžeme po setřídění také smazat.


Nezapomeneme uložit. Ještě rada : dělejte to raději na kopii souboru, stačí málo a uděláte fatální chybu, která Vás připraví o data.


Přeji úspěch

#18 Re: Base » Databáze - výběr více položek z rozevíracího seznamu » 17. 6. 2021 04:08:40

To co popisujete nejde v Base tak snadno, respektive vůbec.
V Base se používají formuláře, které zobrazují vybrané položky z řádku. Takže celou nabídku menu můžete mít přeipravenou tak, že do jednotlivých položek vybíráte podle roletek.


     To co máte asi na mysli jde dělat v Calcu a celkem snadno. Vyberete buňky určitého receptu, stisknete Ctrl a vyberte další recept. Je zajímavé, že vybrané recepty se po vložení umístí za sebou (pod sebe) ačkoliv originálně byly mnoho řádků (sloupců) vzdálené. Takže mezi recepty nechávejte prázdný řádek, který vyberete spolu s receptem nad ním a bude vše v pohodě.


    Já často doporučuji upřednostnit práci v Calcu na úkor Base. Faktem je, že databáze je pro takové účely klasika. Pokud se formulář nad databázíé jednou vytvoří, už s tím není žádná práce na rozdíl od Calcu. Takže nejprve se zamyslete co by Vám opravdu víc sedělo.


Přeji úspěch

#19 Re: Calc » Rychle přidat k číslu bez přepsání obsahu buňky v Calc? » 17. 6. 2021 03:54:14

Docela podivný dotaz, ale může mít logiku. Pokud chcete změnit obsah buňky máte tři možnosti. Buď editovat, čemuž se chcete vyhnout. Druhou možností je vložit obsah ze schránky – například pomocí Ctrl+V. Poslední možností je makro.


     Dotaz je celkem nelogický. Ale pokud by se jednalo jen o určitou buňku a nikoliv o obecně jakoukoliv, respektive všechny buňky, bylo by zde řešení nepřímého ovládání.
     Dovedu si představit přednášku on-line přes Meet (a podobně), nebo „naživo" přes projektor, nebo velkou obrazovku. Zde je viditelné přepisování rušivým jevem. Toto řešit lze za předpokladu, že se předem připravíte. Možností je docela dost.


a) – Připravit si jednoduché makro (lze ho nahrát – nejde o programování, ale uživatelskou znalost).


b) – Použít vzorec OFFSET. Ten zobrazuje obsah jiných buněk zadáním souřadnic, tedy sloupce, nebo řádku ze kterého se čte. Vzorec ovládaný potom plynule změní hodnotu, pokud například změníte číslo řádku, které je v buňce na kterou vidět není.


c) – Lze také použít jednoduchý odkaz. Viditelný úsek (například A1: D10) ovládáme pomocí buňky A1. Tato buňka načítá obsah jiné buňky - například F11, která už viditelná není – a v té přepíšeme obsah pro buňku A1. Takto se dá improvizovat, ale lepší je dobrá příprava pomocí OFFSET, makra, nebo jinak přípravou vzorců v nepropojených buňkách, které podle potřeby kopírujete do zdrojové buňky viditelného systému.

#20 Re: Calc » xml import do calc » 4. 6. 2021 14:41:08

locika napsal(a)

Zdravím, nedaří se mi. otevřu calc, zdroj xml, ten vložím a pak tam je tabulka, kde se má všechno označit, ale mně zmodrá jen jedna složka a neoživne vlevo priřazená buňka. Co je špatně? Prosím radu. děkuji

     Nejspíš jde o nesprávný postup. Soubory XML se musí otevírat pomocí filtru. To znamená otevřít Calc a vybrat z nabídky "Otevřít" adresář se souborem XML. Také by to mohlo jít načíst do paměti, tak jak popisujete, ale "Vložit jinak" pomocí dialogu "neformátovaný text".
     Calc podle Vašeho postupu dostane znaky o kterých neví co s nimi. Takže nenapadne ho o jakou znakovou sadu se jedná, a že je text uzavřen v hranatých závorkách - to může pokládat za HTML. Neznámá znaková sada Vám může způsobit velké potíže. Otestujte výše uvedený postu "Otevřít" to je standardní postup.

#21 Re: Writer » Vybarvení buněk tabulky » 1. 6. 2021 13:10:15

Myslím si, že původně byly tyto dvě záležitosti oddělené a nastavovaly se jednotlivě. Nyní jsou sloučeny zřejmě pod pojmem "textové plochy" a proto je odsazení pro oba případy totožné. Docílilo by se pokrácení kódu. Je dost možné, že řešení by se našlo v rámci "expertního nastavení".
     Chování je na buňkách tabulky ve Writer, ale podobně se chovají buňky v Calcu. Tam bývají bílé proužky mezi orámováním nahoře a barvou pozadí. Něco je dáno možná vykreslováním, tedy pomocí grafické knihovny, které buď je, nebo není zapnutá. Možná se to dá dohnat nějakou vychytávkou, například textem v průhledném rámci a podobně, to ale není řešení problému pokud Vám nejde o reprograficky precizní zobrazení.

#22 Re: Instalace » Čárový kód ,EAN, Barcode » 19. 5. 2021 15:14:37

Neuvádíte zda používáte Libre Office, nebo Apache Open Office.
     V Libre Office můžete jak do Writer, tak do Calc vložit OR kód. Postup : VLOŽIT > OBJEKT > QR kód. Pokud byste chtěl čárový, tak nejlepším postupem je stáhnout hotový z Google. Samozřejmě pokud máte Apache Open Office, musíte stahovat vše z Googlu.
     Myslím, že jsem viděl nějaké rozšíření, ale asi jenom pro barkód. Barkódů je mnoho a většinou to jsou obrázky, ale existuje také jeden typ písma. Používá ho státní správa - je ale pod MSO asi jako placený doplněk. To co popisuji je zdarma.

#23 Re: Writer » Navigátor, rozbalování Nadpisů » 14. 5. 2021 08:43:16

1) Nejprve vypneme (pokud je zapnuta ikona) POHLED NA NAVIGACI V OBSAHU.
2) Následně by měla zůstat zapnutá volba SEZNAM ZAP/VYP.
3) Nyní rozevřeme nabídku z roletky NAVIGACE PODLE a vybereme SEKCE.
4) Pokud máme kurzor v sekcích (nejlépe některou z pojmenovaných), tak zapneme ikonu POHLED NA NAVIGACI V OBSAHU.
5) Sešit uložíme a pro jistotu také vypneme.
6) Novým otevřením původního souboru si ověříme, zda při zavolání navigátoru (F5) se opravdu otevírá obsah na sekcích.
7) prověříme otevřením libovolného jiného souboru.


     Obecně ale platí, že stačí v rozbaleném navigátoru vybrat (vymodřeno) sekce. Pokud není zapnuta – zapnout ikonu POHLED NA NAVIGACI V OBSAHU. Otestujte - i bez ukládání by to mělo fungovat automaticky. Dokonce volba zůstává i když je v roletce  NAVIGACE PODLE něco jiného, ale to může být chyba. Domnívám se, že ta roletka by měla přepínat předvolbu ale nic to nedělá. Přes to doporučuji z principu nastavovat i roletku na potřebnou součást dokumentu.


     Navigátor si pamatuje poslední nastavení – ale ne všechna. Když zvolíme například v rozbaleném seznamu některou položku a otevřeme nad ní kontextové menu (pravé myšítko), tak dostaneme několik nabídek. Tyto volby platí asi jen dokud práci nezavřete. Jde například o návrat k zaměřené součásti – tedy například k určité jedné sekci.
     Také existuje určitý rozdíl v navigátoru volanému pomocí F5 a tím který se volá z postranní lišty. Na postranní liště je volba  SEZNAM ZAP/VYP trvale zapnuta (nedá se vypnout), přes to je do určité míry synchronizována s navigátorem volaným jako F5.

#24 Re: Calc » bublinková nápověda - VYŘEŠENÉ » 14. 5. 2021 06:55:46

gucky napsal(a)

Zmizela mi bublinková nápověda k zapisovanému vzorci.
Po některém upgrade.
Nemůžu najít, čím se to zapne...

     Aha toto jsem pochopil až polopatickkou ukázkou, ale bohu žel s tím si nevím rady. Hledal jsem nejen v nápovědě, ale i v expertním nastavení a v česky lokalizované příručce pro Calc 7.0. Jediné k čemu jsem se dopracoval bylo zjištění, že CalcGuide7.0 tuto funkci popisuje v poznámce na straně 275 takto :
"Calc zobrazuje syntaxi vzorce v bublinové nápovědě vedle buňky jako užitečnou paměťovou pomůcku při psaní."
     Je totiž problém hledání, když neznáme správné označení, takže nikoliv "bublinková", ale "bublinová", což je podobné, ale nikoliv stejné úspěch by se dostavil při zadání společného základu "bublin". Při tom by to mohla být spíše "popup", nebo "vyskakovací" nápověda kterou guide i nápověda běžně obsahují.
     U expertního nastavení jsem se dopracoval až když jsem zadal heslo "syntax", žádné "bubble", ani "popup", ale tam jsem se dozvěděl, že to bude zřejmě položka "other" - tedy "ostatní" a že je to void - tedy neměnné. Testoval jsem v Calcu různá nastavení od neanglických názvů, přes formát Calc/Excel, nebo R1C1, nebo rozšířené tipy a pár dalších věcí. Pokoušel jsem se tuto nápovědu vypnout - ale nedařilo se mi to.


     Takže můj závěr je ten, že ta chyba nebyla zapříčiněna nějakou Vaší manipulací, ale chybou Calcu, respektive systému. Možná stačí skutečně aktualizovat, nebo vypnout nabobtnalý počet spuštěných funkcí. Možná stačí zmenšit zatížení paměti, protože tenhle proces skutečně jen vyskakuje a nedá se ani okopírovat. Sám se aktualizuje a při velkém zatížení jednoduše nemá prostor aby to dělal. OS by ho zřejmě vyřadil při potížích jako první.

#25 Re: Calc » bublinková nápověda - VYŘEŠENÉ » 10. 5. 2021 16:53:52

gucky napsal(a)

P.S. pro neutr
Kde najdu to "Zobrazit nápovědu při vstupu"?


     Je to v hlavní nabídce DATA > PLATNOST > karta NÁPOVĚDA PŘI VSTUPU. Je tam zaškrtávací políčko "Zobrazit nápovědu k zadávání údajů, je li buňka vybrána". Mimo toho by měl být uveden název, ale zobrazuje se až text pod názvem. Takže se přesvěčíte zda je zaškrtávací políčko opravdu zaškrtnuto a také zda je uveden nějaký název.


     Pokud byste chtěl zadávat vzorce pomocí platnosti, tak doporučuji zvolit na kartě KRITERIE možnost SEZNAM (JINOU VOLBU PRO ZADÁVÁNÍ VZORCŮ NEDOPORUČUJI i když je tam tato možnost výslovně uvedeno pod položkou VLASTNÍ).
Mezi POLOŽKY můžeme zadat i více různých vzorců, nebo jen textové hodnoty. Osobně například uvádím na prvním místě vzorec, který načítá "implicitní" hodnotu odkazem na buňku (automatizovaného grafu - pracovního cyklu) a pod tím zadávám "explicitní" možnosti. Příklad ale data bez uvozovek :
1.  pozice "=R4" .... volání buňky R4
2.  pozice "D"   .... denní směna 12 hodin
3.  pozice "N"   .... noční směna 12 hodin
4.  pozice "R8"  .... ranní směna 8 hodin
5.  pozice "O8"  .... odpolední směna 8 hodin
6.  pozice "N8"  .... noční směna 8 hodin
7.  pozice "NV"  .... náhradní volno
8.  pozice "D"   .... dovolená
9.  pozice "N"   .... nemoc
10. pozice "OA"  .... ostatní absence
    Takto jsou vybaveny buňky formulářů směn - trošku to otravuje, ale lepší když si na to lidé zvyknou, nežli aby tápali co ty značky znamenají.

Zápatí

Používáme FluxBB