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

#1 Re: Base » Velikost oken s formuláři - VYŘEŠENO » 10. 9. 2019 12:55:37

Ono v tom mém makru které jste citoval šlo ohledně napozicování okna vlastně pouze o to přiřadit ten otevíraný formulář do nějaké proměnné a ta proměnná pak šla napozicovat.

Možná by tedy ve vaší ukázce stačilo toto:

Sub otvor_cis_zmluv(oEvent As Object) 'otvor formulár číselník zmlúv
    Dim fin_frm_cis_zmluvy as string
    FrmName =  "subObraty/fin_frm_cis_zmluvy"
    dim o
    o=ThisDatabaseDocument.FormDocuments.getByHierarchicalName(FrmName).open() 'přiřazení otevíraného formuláře do proměnné
    o.currentController.frame.ContainerWindow.setPosSize(1,1,500,500,com.sun.star.awt.PosSize.POSSIZE) 'možná nastaví oknu formuláře X,Y,width,height :-)
End Sub

Když vám to nepůjde, můžete nasdílet váš ukázkový soubor s tím jak tam máte ty formuláře? Mohl bych to zkusit xrayovat, tím jsem došel k onomu předchozímu makru.

#2 Re: Calc » Jak vyplnit tabulku dle kriteria v prvním sloupci dle druhé tabulky » 5. 9. 2019 12:30:04

neutr: Mě to přišlo divný když jste to navzorcoval bez náznaku makra a říkal jsem si proč asi to máte bez makra. Je fakt že já o používání v podstatě čehokoliv ve stylu server-klienti nevím vůbec nic a na všechno hledím v podstatě z toho jak by se to vyřešilo oflajn. A že by klidně mohla nastat odůvodněná varianta, že na to půjde možná i někdo v Excelu mě fakt nenapadla :-).


To podbarvení vskutku bylo myšleno tak, že si lze jednotlivé položky obarvit v té datové tabulce a podle toho se to překopíruje. To případné přepsání již vyplněného následujícího řádku při výběru dvouřádkové varianty jsem neošetřoval, bral jsem to spíše jen jako prvotní ukázku. Ale to se tam dá kdyžtak dodělat. Stejně jako ta deaktivace nějakého toho rozbalovátka. Taky by se klidně dalo dodělat nějaké makro které by do Listu vložilo do těch buněk ve sloupci B rozbalovátka s indexy z datové tabulky, aby se to nemuselo při změně té datové tabulky předělávat ručně.
Ale to je všechno prostě na makra, to fakt na vzorce není.


Ono nevýhodu těch vzorců však stále vidím v tom, když se do toho prostě zasáhne ručně. Např. pro den 1 (sloupec C, Odpracováno Od) to podle vzorce vloží třeba 6 00, ale jistě se může stát, že prostě nastane nějaká situace a práce bude až od 10 00 a někdo tam prostě ručně zadá 10 00, čímž se vzorec smázne. Pak třeba někdo na další měsíc udělá kopii z tohohle listu a už to tam bude bez vzorce, při zadávání si toho, že se to nevyplní nebo vyplní špatně, někdo nemusí všimnout a bude tam chyba. Ještě horší by bylo kdyby to někdo upravil v té datové tabulce aby mu to pro daný List vyšlo a neuvědomil si, že by se to mohlo změnit pro více Listů a byla by spíše katastrofa.
Jako čistá automatika se vzorci a tedy pro neruční zasahování to myslím vyhovovat nebude, neb nějaké vyjímky proč zrovna nejdou použít předvolené tabulkové údaje jistě budou.


Ono je tam i docela pěkné to formátování minut jako horního indexu nebo to sloučení buněk a vycentrování popisků ("dovolená" apod.). Prostě to vypadá lépe než jen stále stejný text v tabulce a to vzorce taky neumožní. 


Co se týká té arabštiny, tak to je pro mě jakožto silného zájemce o arabštinu potěšující :-), ale nikdy by mě nenapadlo, že zaplé CTL (Komplexní rozvržení textu) třeba trochu pozmění Styly a to by třeba mohlo bránit nějakému vzorci ve vepisování hodnot. Nicméně co se týká takových mých "lidských zkušeností" tak nejspíše bude platit, že jak je někde arabština, tak tam něco na styl "spokojeného síťování v hierarchii" (spokojenýServer(šéf)&spokojeníKlienti(podřízení)) nikdy fungovat nebude, ba možná právě naopak v tom bude čím dál větší bučus a nespokojenost na mnoha stranách.


Do AOO jsem zkoušel "přidat" i oflajn JRE ale nevzalo mi to, možná to bude chtít 32b verzi JRE. Taky to portable AOO trvá docela dlouho než se vzpamatuje z hlášky že nemá JRE a začne fungovat normálně. Na pomalejším počítačí by to mohl být možná problém.


Takže kdyby zubrtomovi šly a vyhovovaly makra, dalo by se třeba udělat lecos - byť jak již bylo zmíněno i s těmi makry to může napáchat škody, když se do toho zasáhne nějak nečekaně. Něco se sice dá programátorsky ošetřit, ale podstata bude nejspíš taková, že to makry může vyhovovat tomu, koho ten program prostě baví a kdo s tím chce dělat a naučí se to ovládat správně; pro ty kteří k tomu budou pouze nuceni a bude jim nařízeno/napokynováno něco ve stylu "když tohle tak klikneš sem atd." to nikdy dobře fungovat nebude a možná ani nemůže. Nakonec možná zubrtomovi nezbyde než to prostě vyplňovat asi jako doteď přes Ctrl+CV z datové tabulky nebo ručně.

#3 Re: Calc » Jak vyplnit tabulku dle kriteria v prvním sloupci dle druhé tabulky » 4. 9. 2019 19:54:22

Tady je to přes kopírování buněk makrem: https://uloz.to/file/Ruj4idM7vIUz/vykaz-uprava1-kl-ods
Datová tabulka je též zvlášť v listu "data", její případné upravení/rozšíření je možné, akorát pak je třeba do makra správně zadat rozsahy buněk v té tabulce (je to tam popsáno).
V Listu vybrat ve sloupci B hodnotu z rozbalovátka a pak spustit makro z menu VYPLNIT, což nakopíruje data z tabulky (na to se dá navolit případně nějaká klávesová zkratka, popsáno dále).
Zohledňuje se to kopírování dvou řádků, ale testuje to skutečně jen jeden prázdný index (hodnota ve sloupci B) na dalším datovém řádku. Více prázdných řádků s prázdným indexem to nezkopíruje, jen jeden s vybranou hodnotou a k tomu tedy případně navíc jeden s prázdnou buňkou pod hodnotou.
Nedělá si to starosti s různě sloučenými buňkami a nakopíruje je jak jsou sloučené v datové tabulce. Zůstává také zachované formátování (jak máte třeba minuty u hodin horním indexem) a kopíruje se i barevné pozadí buněk. To prostě dělá automaticky kopírovací funkce.
Výhoda oproti vepisování vzorců je ta, že se pak ty hodiny dají upravovat ručně, kdežto ve vzorcích když někdo smázne vzorec a zadá jen ruční hodnotu tak to může být problém. Také když se pak něco do variant přidá jak již zmínil neutr, tak je nutné upravovat vzorce, ale ty někdy mohou být již tak složité, že se v nich dotyčný pořádně nevyzná a nejspíše se nasekají chyby i když se v nich "vyzná" :-).


Když makro nepůjde spustit tak bude asi potřeba snížit úroveň "paranoji" v Nástroje/ Možnosti/ OpenOffice/ Zabezpečení/ Zabezpečení maker (tu cestu mám z LO neb AOO mám jen v EN verzi, tak snad se tam ty nabídky jmenují stejně nebo obdobně).


Ještě mi AOO psalo, že nemá Java Runtime Environment (JRE - běhové prostředí Javy), ale i tak to makro spustit šlo.
AOO jsem nainstaloval portable verzi, ty portable verze lze používat aniž by bylo třeba je instalovat jako admin. Také pak fungují v pohodě paralelně na jednom počítači (jinak používám jen Libre).


Když jsem pro Den 3 zkusil automatizovat spouštění makra aby se spouštělo hned po vybrání rozbalovátka, tak to vypíše že do chráněných buněk nelze kopírovat a nevím jak to udělat aby to kopírovalo. A také nevím, jestli je vhodné to automatické spouštění makra přes fci IF( ISBLANK(buňka);""; makro ).


Kdyžtak návod na makra je zde: https://www.openoffice.cz/navody/makra- … ffice-uvod
A klávesové zkratky se k makrům dají přiřadit přes Nástroje/ Přizpůsobit/ Klávesnice a v Kategorie se proklikat k makru. Článek třeba zde: https://www.openoffice.cz/navody/jak-pr … ozi-format



V Listu jsou ještě upravené maličkosti, jen taková kosmetika. Řádek pod posledním dnem (jako kdyby byl den 32) má též rozbalovátko což je asi zbytečné. Ale vzhledem ke kontrolovanému rozsahu buněk s rozbalovátkem nejde z tohoto rozbalovátka makro spustit.
Řádky 48/49 v Listu "Hodiny celkem & Převod do dalšího měsíce" měly v některých buňkách vložené křížky z čar kresby, tak jsem to upravil na úhlopříčkové ohraničení buněk, neboť v Libre se mi zobrazovaly v původní ukázce rozhozené.

#4 Re: Další součásti » Jjak přidat vlastní barvu do společné palety LO » 4. 9. 2019 10:26:13

Já jsem si říkal kde asi jsou umístěný ty ostatní palety a jsou v tom adresáři jaký uvádíte.
Jinak tu cestu co jsem uvedl já mám na Win10 + i na Win7 na starém laptopu.

#5 Re: Další součásti » Jjak přidat vlastní barvu do společné palety LO » 3. 9. 2019 13:02:12

Barvy jsou v souboru standard.soc, který je v adresáři s nastavením Libre. Pod Win je to v
C:\users\DanýUživatel\AppData\Roaming\LibreOffice\4\user\config.
Je to obyčejný xml soubor, zazálohujte si jej a pak do něj přidejte barvy dle své potřeby.

Dříve ty barvy šly nastavovat přes Nástroje/Možnosti/LibreOffice a byla tam položka myslím Barvy, ale nějak to z Libre zmizelo. Ale když se ty barvy editovaly či přidávaly tak se to ukládalo právě do tohoto souboru.

#6 Re: Slovníky » Nový český slovník CC0 - drobné vylepšení » 21. 8. 2019 14:51:31

neutr: O Texu nevím vůbec nic a ani se mi nechce zase něco dalšího zdlouhavě učit (a že bych jistě musel vzhledem k tak sofistikovanému přístupu) :-). Ve FontForge již umím docela pěkně a myslím, že to i přes popsané problémy půjde postupně dokončit, neboť mi připadá, že na všechny potřebné algoritmy pro správné ligatury a umísťování kotev pro polohy "znamének" už jsem přišel (byť něco zase pozapomněl, ale to si snad vybavím). Teď je to spíše již o tom to napozicovat a dodělat pro několik desítek ligatur. Spisovná arabština už mi jede docela pěkně, tam je to o tom udělat si kombinace všech znaků se všemi, abych viděl kde se mi dotýkají/prolínají "znaménka" a odladil to.
Výhodou je též to, že ve FontForge už umím postupně přicházet na různé postupy a finty z růných ttf písem a v Texu bych se všechny postupy pro to samé musel učit. Ale možná vzhledem k nějakým těm chybám FontForge na to i dojde, ale kéž by ne :-).

Na odborníky se již ani skutečně obracet nezkouším a nechci, maximum bude asi sepsání chyb autorovi FontForge :-). Ostatní jsem se právě již díky různému debugování fontů naučil :-).

Ono problém je podle mě s tím, že oni nikde ve světě prostě to české expertní kutění/bastlení nechápou a nedochází jim, že odhodlaný český kutil to prostě do tý úrovně "to nikdo jinej na planetě nemá" dovést "musí" :-)!

A i když je to okrajová záležitost, mně to je jedno, mě to prostě vytvářet baví :-).

#7 Re: Slovníky » Nový český slovník CC0 - drobné vylepšení » 21. 8. 2019 11:09:07

neutr: v ukázce chybí zapsat proměnná sLat :-), jinak to funguje výborně.

GetGeoDataOSM = " Longitude: " & sLon & " Latitude: " & sLat

Sice mě napadlo zkusit tu komunikaci s wikidaty více zautomatizovat, ale poté co jsem zjistil, že to povolí standartním způsobem (url a v ní hash se jmény a hodnotami pro inputboxy čili metoda GET html formulářů) vyplnit jen první inputbox, tak jsem toho nechal. Zkoušel jsem vypnout javascript a taky to nešlo, ty inputboxy co se nevyplní mají nějaké zakazovací parametry (už jsem ani nezjišťoval který z těch parametrů to je) a tipuji, že wikiajťáci to mají tak udělané primárně kvůli robotům (ale možná i kvůli tomu jejich zvláštnímu našeptávání dat do oněch inputboxů – je tam třeba 'e.g. noun' čili do češtiny 'např. podstatné jméno', ale když jsem tam to 'noun' začal psát, tak mi to začalo našeptávat něco se státem Kamerun, což jsem u druhu slova věru nečekal, fakt zvláštní to mají). Možná kdyby všechny inputboxy povolili, tak by tam museli dát nějakou captchu, což by jistě štvalo víc. A na to abych zkoušel ty inputboxy povolit pro zadávání z hashe … kdepak. Html resp. javascript jsem už pěkných pár let nedělal a jenom pro lepší obsluhu wikidat se do toho pouštět fakt nechci. Napadlo mě sice, že v krajním případě by bylo možné vytvořit třeba i doplněk pro prohlížeč, který by k načtený stránce pustil třeba ještě jeden odblokovávací javascript (skriptování pro doplňky Seamonkey či jak se to ve Firefoxu jmenuje z hlediska rychlé naučitelnosti fakt nevypadá nijak složitě) … ale fakt ne :-). A komplet síťový I/O přenos jak ukázal neutr dělat nechci (i kdyby to šlo), neboť nevěřím tomu, že by to wikiajťáci za čas nezměnili a nemusel bych se s tím babrat nějak víc složitě než jednoduše znova.

Já ani nemám internet a většinou zajdu ven k sousedům na wifi, takže nandat slova do tabulky v Calcu a pak to pustit najednou by bylo výhodný, ale mě to zadávání slovíček nebaví. Dokonce si myslím, že by to šlo udělat i lépe :-), byť v současné době to "lépe" nejsem schopen vytvořit (rozvedu to dále). Plus beztak vše co začíná na wiki- (hlavně -pedie) nemám rád, je to v podstatě moc složitě naprogramovaný a přitom pro uživatele dost primitivní, žádný pořádný vychytávky, jen takovej podle mě docela tupej ošklivej nezáživnej systém, co je propagován s přehnanou honosností, kterou ale podle mého názoru fakt nemá. Mnoho programátorů si s tím za ty roky muselo dát strašně moc práce [a kolik práce jim asi třeba zabralo, aby to zmrvilo CSS když se dá v prohlížeči "Uložit stránku", protože prostě internet nedostupnej a tak je něco dobrý mít uložený i oflajn]. Je to podle mě už v podstatě taková příliš zkostnatělá instituce, která již nikdy ladně a zábavněji fungovat nebude. Ale mnozí lidé to prostě využívají a jsou za to rádi a výstupy z toho jsou díky těm lidem mnohdy dobré. A pokud jsou dobré některé výstupy, mohou se někdy hodit pro nějaký specifický projekt s mnohem větším a sofistikovanějším rozsahem.
Nicméně je to v podstatě jakási varianta CKL (centrální kepl lidstva) a skutečně se takovýmito výtvory nehodlám zabývat. Krásný příklad CKL je na té neutrově ukázce. Sice je "pěkný" že z nějaký velký databáze jdou zadáčo vysosat potřebný výsledky, ale když ta centrální databáze spadne, tak maj všichni co to používaj smůlu. Kdyby to bylo možný celý si stáhnout a používat v klidu oflajn, bylo by to o něčem jiném (technické detaily třeba ohledně velikosti databáze pro stažení atd. nebudu rozebírat).


O co jsem se však snažil usilovně bylo to, aby to fungovalo z Writeru na každé tam podtržené slovo, a to ať je v libovolném "objektu". To se mi myslím docela povedlo, neboť nefunguje to jen z těch komentářů a částečná funkčnost je pouze z objektů kreseb a textového rámce. Nejsem však schopen říci, zda-li to co je v tom ukázkovém odt jsou skutečně všechny objekty které by kontrola pravopisu podtrhávala, ale používaná většina to pro většinu uživatelů jistě bude :-).
Pro mě by byla zajímavá spíše právě ta oflajn část (věren poctivému desktopu a nikoliv uchvácen zběsilým a mnohdy nesmyslným činnostem onlajn) a to jak makrem detekovat pozici viditelného kurzoru v těch objektech kresby nebo jak makrem vůbec detekovat ty komentáře. Ale tyhle funkce třeba ani nemusí být zahrnuty v současném API, takže to možná makry ani nejde. Na netu jsem hledal dost, ale jak Gůgl krouhnul počet vyhledaných výsledků na 200 (páč víc výsledků prej skoro nikdo nevyužíval), tak je to s ním od desíti k pěti (ale spíše ke třem a navíc bez studu to jistě zadegradují až na dva či jedna) a řadí do výsledků čím dál víc kravin jen nejspíš proto, aby měl příjmy z reklamy (konspirace o masivní debilizaci lidstva ku prospěchu vládnoucích elit jistě nemá cenu rozvíjet). Zlatej starej dobrej obyčejnej fulltext, to se slova nechala postupně vlastně pěkně odfiltrovávat a kolikrát se šlo (byť třeba i po pár desítkách minut) proklikat k nějakýmu zapadlýmu webu kde se to třeba i vyskytlo – kdysi jsem třeba po nějakém tom úmorném zpřesňování vyhledávané fráze na nějaké zapadlé stránce (snad až někde na 600-tý nebo ještě větší pozici vyhledávání) našel slovní komentář k tomu, jak v Libre při vytváření zip souboru makrem nemít do zipu vložený soubor manifest a jakpak jsem za to byl rád, když jsem to podle toho naprogramoval a zafachalo :-). Ale takhle to do vyhledávání sune blbosti a vůbec nemá cenu se snažit koukat ani třeba na 50 výsledků – Gůgl z toho asi za čas vyvodí, že lidi jsou ještě blbější a tak vypíše těch výsledků natvrdo třeba jen 10; i když problém není v lidech ale v tom, že to gůgloni nejsou schopný udělat tak, aby to mnohem víc lidí bavilo používat i pro specifičtější varianty. A dle mého názoru to nikdy schopněji udělat ani nemohou, neboť jim na to prostě nepřijdou nápady – není to totiž "vyhledávač" ale jen mašina na peníze. Takže mohli vymyslet tak akorát něco co by jim zvedlo zisk, ale to je celý, podle mě si tím sešupem dolů který v "kvalitě vyhledávání" předvádí nabijí a rozbijí se.

Lepší než dělat nějakou vychytanou komunikaci s wikidaty by podle mě bylo dělat to celý v Calcu (kdyby někdo trval na xml zápise tak by si mohl rozzipovat ods soubor a jistě by si labužil :-)), ale nemám nyní čas ani chuť dělat ovládání/přepracovávání/zpracovávání pro Calc (a neumím ani natolik s objekty, aby to bylo fakt dobře naprogramované a nemusel jsem nějaký kód po nějaké době vehementně přepisovat). Raději se budu dále věnovat kutění svého dosavadního superbastlu – "komplexní" transkripce arabštiny. Tohle by bylo ještě obsáhlejší a dva takový projekty paralelně schopen dělat nejsem a ani nechci. V tom zpracovávání arabštiny už jsem tak daleko, že jsem se musel dát i na vytváření vlastního arabského fontu a je to tedy fakt "síla" :-) (jaké "podivuhodné" záležitosti je třeba řešit při vytváření ar fontu je pro zajímavost na konci za *****).


Nicméně dále k češtině. Docela jsem projel ty diplomky https://github.com/plin/slovnik (ty české, ta slovenská mě nebavila a jaxi-intuitivně při prvním shlédnutí jsem ji pro svou uvažovanou problematiku vyhodnotil jako nyní nepotřebnou) a fakt musím uznat, že si s tím dali strašně moc velmi kvalitní práce s velmi dobrým výsledkem. 58 vzorů pro podstatná jména a 36 pro slovesa a i nějak zpracovaná přídavná jména. To vypadá fakt dobře. Mně ještě napadlo zkusit vytvořit regulární výrazy pro správné slabikování slov a taky se dost vyřádit (automatizovat to) s předponama a příponama :-). Zkusit automatizovat i zdrobněliny a stupňování přídavných jmen či příslovců. A též začít nabízet uživateli možnost provazovat slova od jednoho "významu" – např. podst. jm. PSANÍ či PÍSMO je se slovesem PSÁT. Nebo přídavné jméno HEZKÝ je s podstatným HEZOUN či příslovcem HEZKY. Samozřejmě k tomu možnost označit k sobě synonyma a též opozita (MALÝ/VELKÝ, HODNÝ/ZLÝ atd.). Pak by to bylo mnohem zajímavější, zadat třeba podstatné jméno v 1.p.j.č. a zbytek by do kolonek vyplnil kepl, plus mít pro uživatele možnost vybrat správné předpony a hnedle by vznikla další slova, taky k tomu zdrobněliny a správná rozdělení slov a uživatel by to hlavně zkontroloval případně opravil chyby. A to by se uložilo třeba do nové tabulky v Calcu, kterou by již nebylo problém připojit k centrální tabulce. Prostě to uživateli naservírovat fakt komplexní – no nebyl by krásný třeba 100MB .ods soubor s "kompletní" databází češtiny :-)? Od verze 6.3 je prej Libre v načítání zase rychlejší :-). Až budu mít chuť tak zase nainstalím 6.3 a rychlost zkusím, mám na to několik pěkných "adeptů" (odt souborů) s arabštinou a vektorama z Draw :-).
Ale uvědomil jsem si mnohem víc, že ten slovník češtiny je strašně obsáhlá záležitost. Byly tam zmíněny i exotické varianty třeba na slovech Seneca nebo upgrade. První jakožto příjmení nějakého starověkého hlavouna (a to je tak celý co o tom vím a víc mě fakt nezajímá) a druhé anglické. Pro mě by bylo přípustné psát to ryze česky tedy jako Seneka či apgrejd, ale abych se zabýval vyjímkami odporujícími českému zápisu a vedl třeba dohady s jinými, že to zvyjímkované je prý zažité/prospěšné/blběVypadajícíVčeskémZápiseAprotoRadějiVanglině apod., to fakt ne. Za mně by to bylo nejspíš jednoznačné → jak to není v českém zápise, nebudu to tam dávat (neboť by mi za chvíli z algoritmování cizojazyčných vyjímek nejspíš hráblo, páč by varianty pořád jenom přibývaly). A s tím odmítáním cizopsaných vyjímek bych počítám narážel (byť možná nejen s tím).
Pro komplexitu/kompletnost hodně hodně hodně programování a třeba i hodně hodně hodně vysvětlování důvodů proč je co a jak naprogramováno a proč co a jak není zahrnováno … a vypadá to, že to není běh na dlouhou trať, ale spíš (ú)let na dlouhou trať :-). A žiji jen jednou + zdravotní problémy = a nemůžu a ani nechci se nyní dát do tak velkého projektu. Ale rozhodně již nyní zpraco(vá)vané části mohou být skvělým "materiálem" pro případnou další "lepší" část a poté co do toho vidím ještě hlouběji, mohu jen popřát zdárný kutilský úspěch s každým vyvíjeným bastlem :-).


Ještě zmínka k těm licencím. Ta licence CC0 jakou má i nový vytvářený slovník je možná tou nejinteligentnější licencí, kterou jsem viděl. Ukazuje se, že ty tzv. "svobodné licence" nějak vůbec nejsou namířeny proti komerčnímu zneužívání jak to o nich bývá avizováno, ale že v podstatě akorát pálí do řad jiných svobodných tvůrců. Velké firmy si všechno "svobodně" licencované i natvrdo patentované beztak využijí/zneužijí po svém a někdo, kdo na něco dal nějakou tzv. "svobodnou" licenci, se pak mnohdy chová jak nějaký fanatický despota co chce něco nařizovat snad všem ostatním na planetě a snad za každou cenu.


******************
Fakt jsem otestoval několik desítek ar fontů a bez chyb (někdy tak závažných jako např. chybějící písmeno, jako kdyby v cs fontu chybělo třeba c) není pro Koránskou arabštinu ani jeden (v těch "nejlepších" fontech bývá tak kolem 10 chyb); moderní spisovná ar je na tom lépe neb má jen dvě ligatury (složeniny z jiných znaků) a nemá ani tolik "znamének" (krátkých samohlásek + specifických určujících znaků jež se píší jako samohlásky nad/pod písmeno), avšak většinou fonty tak jako tak haprují, neb některé znaky které se v arabštině běžně používají nejenže nejsou na klávesnici, ale dvě ligatury (ve spisovné ar povinné!) z nich pak nejsou ani v definici Unicode :-). Je to jako kdyby v češtině třeba Ž a Ř nebyly na klávesnici (a třeba Ř by nebylo možné napsat stylem háček+písmeno, ale pouze vložit ze speciálních znaků) a kombinace ŽŘ jež by vytvářela nějaký specifický grafém (ligaturu) by nebyla v definici Unicode, ačkoliv by se to takto zcela běžně používalo již několik století → tak se to s arabštinou v keplech má :-). Psal jsem též třeba chyby autorům fontu Scheherazade (je svobodný a v současnosti jeden z nejlepších) a odpověď ve stylu … již na fontu v podstatě neděláme, příští rok bychom snad něco mohli opravit, ale jelikož něco je v definicích Unicode nedoporučováno tak to beztak nezahrneme … takže prý něco někde není v ňáký haprující definici … fakt teda důvod důvodů, tohle fakt českýmu kutilovi nikdy nemůže vyhovovat; byť řešit se to prej dá když se tam navíc vloží nulová nedělitelná mezera – opět super, tu spolehlivě umívá spíše jen pár programů :-).
Další výbornou věcí je metrika ar fontů. Jak se píší "znaménka" nad a pod písmena, tak v drtivé většině fontů to dopadne tak, že něco již zasáhne na jiné řádky a tak se to blbě vykresluje, např. je to odseknuto. Správnou metriku mívá spíše méně ar fontů než více a převážně ty majkrosoftí (zmíněný Scheherazade ji má správně). Za zmínku stojí i "vnitřní metrika" čili jak jsou v různých kombinacích písmenka a znaménka postavená vůči sobě navzájem a tam bývají nedostatky snad vždy – např. se v některých případech znaménka prolínají či dotýkají jiného písmene apod.
No a třetí věcí kterou se nezabýval žádný tvůrce ar fontu je optimalizace/redukce bodů na samotných křivkách ze kterých jsou vytvořena písmena. FontForge redukuje nadbytečný počet bodů perfektně aniž by křivku jakkoliv zdeformoval (i když to pak někdy při validaci hází nějaký chyby z důvodu nějakých pošahaných definic od Adobe či co, ale mě Adobe nezajímá a v Libre mi to jede jak potřebuji). Inkscape jí je schopen zkrouhnout ještě lépe, ale dělá už nějaké deformace a nepřišel jsme na to, jestli to v něm jde vůbec nastavit, aby fakt nedeformoval (připadá mi že ne).
Ale ještě to z hlediska práce s fonty pokračuje, neb nadefinovat ty potřebné kroky pro ne-unicode arabské ligatury jen tak nějaký program na fonty neumí. FontForge který používám sice ano, ale narazil jsem na jiné bugy. V jednom specifickém druhu operace natvrdo spadne a prostě v něm potřebné nezadám; a jednou nezahrne několikakrokové zpracování ale udělá pouze první krok a nazdar (což se ale dá obejít uložením definic do txt souboru, napsáním dalších kroků v PSPadu a načtením to z txt do FontForge, to již vezme). Pak ještě špatně zobrazuje počáteční/veSlovné/koncové znaky v jednom zobrazovacím okně, ale to je spíš již kosmetická záležitost :-). Takže se asi měsíc chystám sepsat ty bugy v anglině a poslat to autorovi, ale to bych tu anglinu musel mít rád víc než už v podstatě vůbec + musela by mě bavit též víc než už vůbec, pak by mi to šlo nejspíš rychleji :-).

#8 Slovníky » Nový český slovník CC0 - drobné vylepšení » 17. 8. 2019 18:32:31

kamlan
Odpovědí: 5

Zkusil jsem udělat makro které vezme červeně podvlnkované slovo ve kterém je viditelný kurzor a otevře ho v prohlížeči na wikidatech https://www.wikidata.org/wiki/Special:NewLexeme.
Do těch wikidat lze dodat skrze adresní řádek prohlížeče jen slovo. Jazyk a druh slova se tam musí doplnit ručně, byť na jednom z těch inputboxů by si to šlo třeba ulehčit i přes Ctrl+V (např. mít ještě ve schránce slovo Czech).
Nefachá na viditelný kurzor umístěný v komentářích (Vložit/Komentář) - to jsem vůbec nepřišel na to jak se makrem do těch komentářů dostat.
Funguje částečně na text ve vložených objektech Draw (Vložit/Tvar, Vložit/Textové pole) - to když tam bude jedno slovo, při více slovech nevím jak tam hýbat viditelným kurzorem ani jak ho tam detekovat ani jak označit slovo ve kterém je viditelný kurzor.
Testovací soubor je zde https://uloz.to/file/I2BsTIcRBjeK/pokusslovnik-odt

V makru je potřeba správně nastavit cestu k www prohlížeči v proměnné sWeb!

Sub spellCheckAkce 'vezme slovo na kterém je viditelný kurzor, zkontroluje ho dle slovníku a není-li ve slovníku tak otevře wikidata s daným slovem v inputboxu
	on local error goto chyba
	dim document as object, dispatcher as object, oDoc as object
	dim s$, jazyk$, vSpeller as variant, valid as boolean, args() as new com.sun.star.beans.PropertyValue, aLocale as New com.sun.star.lang.Locale
	dim sWeb$, sWebAdr$, oHledani, oHledaniParametry, oNalez, vyber
	
	REM NUTNO ZADAT SPRÁVNOU CESTU K PROHLÍŽEČI
	sWeb="C:\Users\uziv\AppData\Local\Programs\Opera\launcher.exe" 'cesta k prohlížeči
	
	sWebAdr="https://www.wikidata.org/wiki/Special:NewLexeme?lemma=" 'webová stránka + parametry do url adresy, ty zbylý dva inputboxy se na wikidatech nevyplní takže je sem ani nedávám
	aLocale.language="cs" : aLocale.Country="CZ" 'česká lokalizace
	oDoc=thisComponent
	document=oDoc.CurrentController.Frame
	dispatcher=createUnoService("com.sun.star.frame.DispatchHelper")
	dispatcher.executeDispatch(document, ".uno:SelectWord", "", 0, array()) 'označí slovo (neumí označit slovo v objektech Drawu nebo komentáři)
	vyber=oDoc.currentController.getSelection().getByIndex(0) 'vybrané slovo nebo object Drawu
	s=vyber.string 'řetězec z výběru

	rem kontrola slova jestli to není string z jiných znaků než českých písmen
	oHledani=CreateUnoService("com.sun.star.util.TextSearch") 'textové hledání (prohledávání řetězce)
	oHledaniParametry=CreateUnoStruct("com.sun.star.util.SearchOptions")
	With oHledaniParametry 'parametry pro textové hledání
		.algorithmType=com.sun.star.util.SearchAlgorithms.REGEXP 'regulárem
		.locale=aLocale 'česká lokalizace
		.searchFlag=1 'ignorovat velikost písmen
		.searchString="[^a-zěščřžýáíéúůóďťň]" 'cokoliv jiného než písmeno cs abecedy je špatně
	End With
	oHledani.setOptions(oHledaniParametry) 'nastavit parametry hledání
	oNalez=oHledani.searchForward(s,0,len(s)) 'prohledávat nalezený řetězec od začátku do konce
	if oNalez.subRegExpressions>0 then 'když je v řetězci nějaký znak krom českého písmene tak konec
		msgbox "BUĎ: vybráno něco co je z jiných znaků než českých písmen" & chr(13) & "NEBO: víceslovný text z objektů Draw (Vložit/Tvar, Vložit/Textové pole)"
		exit sub
	end if
	
	rem odznačit výběr
	dim args1(1) as new com.sun.star.beans.PropertyValue
		args1(0).Name="Count" : args1(0).Value=1
		args1(1).Name="Select" : args1(1).Value=false
	dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args1()) 'odznačit vybrané slovo přesunem kurzoru o jeden krok vlevo
	
	rem kontrola slova dle slovníku
	vSpeller=createUnoService("com.sun.star.linguistic2.SpellChecker") 'služba spellCheck
	valid=vSpeller.isValid(s,aLocale,args()) 'kontrola je-li slovo validní

	rem zpracování nevalidního slova
	if valid=false then 'když slovo není validní
		s=sWebAdr & s 'adresa pro prohlížeč i s parametry
		shell(sWeb,1,s) 'otevře prohlížeč s danou adresou
	else
		msgbox "slovník zná:" & chr(13) & s
	end if
	exit sub
chyba:
'	msgbox Error & " line:" & Erl & " chyba:" & Err
End Sub

#9 Re: Chyba v programu » Basic: Chyba funkce InStr [VYŘEŠENO] » 13. 8. 2019 15:45:33

Super, chodí :-).
Takže jde o to, že když chci zadat nepovinný poslední parametr tak musím zadat i ten první nepovinný parametr. To mě vskutku nenapadlo :-). Díky.

#10 Re: Writer » VYŘEŠENO-Mazání slov za místem, kde chci vytvořit mezeru » 13. 8. 2019 11:26:02

Nejde o aktivovanou klávesu Insert která přepisuje text? Kurzor je pak takový obdélníček místo svislítka. Pak by stačilo opět zmáčknout Insert aby to nepřepisovalo.

#11 Chyba v programu » Basic: Chyba funkce InStr [VYŘEŠENO] » 13. 8. 2019 11:23:11

kamlan
Odpovědí: 2
Sub error_InStr
	'msgbox InStr("hello","E") 'OK
	msgbox InStr("hello","E",0) 'chyba
End Sub

Makro mi udělá chybu "Činnost nepodporována. Neplatné volání procedury."

Chyba se objevuje i když nainstaluji jiné verze Libre včetně portable verze (6.2.6.1 a testováno i na 6.3.0.4, 6.2.5.2; či portable 6.2.4.1  5.4.7.2).
Win 10 Professional 64b. Ještě jsem si vzpomněl že mám v šuplíku starej laptop a chyba je i na Win 7.


Dle Nápovědy by ten třetí parametr měl fungovat
https://help.libreoffice.org/6.3/cs/tex … _id3155934


Funguje to někomu na linuxu nebo též hází chybu?

#12 Re: Base » Velikost oken s formuláři - VYŘEŠENO » 1. 8. 2019 20:10:30

Nainstaloval jsem dnes verzi 6.2.6.1 z pre-release a zmenšený formuláře daný na různý pozice si to nepamatuje. Zapamatuje si velikost jen jednoho a při dalšim otevření db to ty formuláře otevírá v té velikosti toho jednoho, kterej to navíc vycentrovalo do středu obrazovky. Makro otevře a nastaví pozice pojmenovaných formulářů z pole pozice().

Sub NastavFormulare 'v otevřeným souboru databáze přenastaví pozice a velikosti daných formulářů
	Dim o, oDb, oForms, oForm, i%, j%, pozice()
	rem pole s formuláři  jméno,     X,  Y,šířka,výška
	pozice=array( array("Formulář1",100,100,600,600), array("Formulář2",720,100,600,600) )
	oDb=thisComponent 'base dokument
	oDb.currentController.connect() 'spojit s db
	oForms=oDb.getFormDocuments() 'formuláře db
	if NOT oForms.hasElements() then exit sub 'nejsou-li v db formuláře tak konec
	for i=0 to oForms.count-1 'prochází formuláře
		oForm=oForms.getByIndex(i) 'formulář
		for j=lbound(pozice()) to ubound(pozice()) 'vyhledat je-li formulář v poli pozic
			if oForm.name=pozice(j)(0) then 'formulář je v poli pozic
				o=oForm.open() 'otevřít formulář
				o.currentController.frame.ContainerWindow.setPosSize(pozice(j)(1),pozice(j)(2),pozice(j)(3),pozice(j)(4),com.sun.star.awt.PosSize.POSSIZE) 'nastaví oknu formuláře X,Y,width,height
			end if
		next j
	next i
End Sub

#13 Re: Base » Velikost oken s formuláři - VYŘEŠENO » 1. 8. 2019 09:20:34

Neutr: vaše vysvětlení zní logicky a kdysi to nějaké programy takto i dělaly, ale mě se ty rádoby-max okna roztáhnou až moc ke kraji, takže kdybych chtěl v té malé mezeře kliknout na spodní okno, je tam tak malá mezera, že ve vrchním okně se kurzor změní na obousměrnou šipku pro roztažení vrchního okna a nedovolí prokliknout se do spodního :-). A další okno otevře přesně na tom samém rádoby-max, takže o možnosti překlikávání to nebude. Viděl bych to prostě na nějakou nedořešenost.
Co si tak vzpomínám, tak okýnka se skládala systematicky kousky pod sebe (aby se na ně dalo překlikávat) v nějakém starém Internet Exploreru, a "nejlepší" bylo když nějaký javascript začal systematicky používat metodu windows.open a začal otevírat těch oken čím dál víc, to za chvíli bylo nutné ctrl+alt+del a ukončit to - a nebyla to jen záležitost pornostránek :-).

Jinak též překlikávám na liště a mám nastavené aby stejné typy dokumentů neslučoval do jednoho.

#14 Re: Base » Velikost oken s formuláři - VYŘEŠENO » 31. 7. 2019 21:40:48

Tak jsem též zkusil nějakou namátkovou db a dva formuláře v ní a chová se to tak jak se mi občasně chovají i okna ve Writeru či Calcu -> Win (mám W10 64b prof) si prostě občas nějak odmítají pamatovat když se okno zmaximalizuje a dávají ho do jakési velikosti blízké maximalizaci. Dříve se mi však stávalo to co je v tom vašem videu (přehrál jsem v pohodě v SMPlayer), že se okno otevřelo v nějaké velikosti a pak se (po načtení dokumentu) zvětšilo do právě oné jakési rádoby-maximalizované. Taky jsem dříve zkoušel v expertním nastavení hledat nějakou položku aby si to pamatovalo že chci okno maximalizované, ale vzdal jsem to, je tam toho strašně moc a nevyznal jsem se v tom. Ale je fakt že na 6.2.5.2 se mi to pro Writer/Calc/Draw neděje a otevírá se mi to tak jak chci maximalizované. 
Zpět však k Base. Když formuláře zmenším tak si velikost zmenšených oken pamatuje, ale když je maximalizuji tak si to že byly maximalizované nezapamatuje a otevírá právě v tom rádoby-maximu. Zde je makro které prochází všechny zrovna otevřená okna Libre a jelikož jsou ty formuláře jako okna ve Writeru, bere je jako okna. Makro vypíše titulky jednotlivých oken, ale samozřejmě by se daly nastavit velikosti/pozice pomocí dříve uvedených maker klidně ke každému tomu formuláři. Asi klasicky by to mohlo jít přes Nástroje/Přizpůsobit/Události/Otevřít dokument.

Sub Documents_Iteration( ) 'vypíše Title všech otevřených dokumentů
	Dim oDocs As Object, oDoc As Object, oComponents As Object
	oComponents=StarDesktop.getComponents() 'okna
	oDocs=oComponents.createEnumeration() 'jejich vyjmenování
	Do While oDocs.hasMoreElements() 'dokud jsou neprojitá okna
		oDoc=oDocs.nextElement() 'aktuální okno
		msgbox oDoc.Title 'titulek
	Loop
End Sub

#15 Re: Base » Velikost oken s formuláři - VYŘEŠENO » 30. 7. 2019 15:47:04

S Base jsem nikdy nedělal, ale zde řešili jak makrem nastavit velikost formulářového okna v Calcu
https://forum.openoffice.org/en/forum/v … 45&t=85181

Jestli jsou ty db formuláře dělané makry, jistě by mělo jít přidat do maker nějakou danou (a vyhovující) šířku formuláře když to je na linuxu a když na win.

Na zvětšování celého okna (což ale asi nepotřebujete) lze použít třeba tato makra

Sub oknoMaxim 'maximalizace okna
	thisComponent.CurrentController.Frame.ContainerWindow.isMaximized=true
End Sub


Sub oknoMaximRozmery 'maximalizuje okno a vypíše jeho umístění vůči levému hornímu rohu orbazovky a jeho rozměry
	dim oDoc, oPos
	oDoc=thisComponent
	oDoc.CurrentController.Frame.ContainerWindow.isMaximized=true 'maximalizace okna
	oPos=thisComponent.CurrentController.Frame.ContainerWindow.getPosSize() 'objekt okna s pozicí a rozměry
	msgbox "levý horní roh: X: " & oPos.X & " Y:" & oPos.Y & chr(13) & "šířka: " & oPos.width & chr(13) & "výška: " & oPos.height
End Sub


Sub oknoNaSouradnice 'nastaví okno na dané souřadnice
	dim X%, Y%, sirka%, vyska%
	X=100
	Y=100 'X,Y jsou souřadnice levého horního rohu okna, výška je bez té lišty s tlačítky pro maximalizaci/minimalizaci/zavření okna
	sirka=1000 'šířka okna
	vyska=500 'výška okna
	thisComponent.CurrentController.Frame.ContainerWindow.setPosSize(X,Y,sirka,vyska,com.sun.star.awt.PosSize.POSSIZE) 'nastaví X,Y,width,height
End Sub

#16 Re: Calc » Vnořené logické výrazy - VYŘEŠENO » 30. 7. 2019 13:21:50

do D31 tedy vzorec =IFS(D6<9;"zubů < 9";D6<=16;72;D6<=40;60;D6>40;50)

#17 Re: Writer » Počítadlo času dokumentu » 26. 7. 2019 20:55:03

Jeden jednoduchý ukázkový dokument je zde https://uloz.to/!onYZ7tLBZqGM/cas-pouzi … tu-kl1-odt


Jsou v něm dvě makra, jedno se spustí po otevření dokumentu a uloží si do globální proměnné hodnotu z fce now(). Druhé se spustí po zavření dokumentu, opět zjistí pomocí now() aktuální čas a vypíše rozdíl časů, což je tedy doba mezi otevřením a uzavřením dokumentu. Ten vypsaný rozdíl časů se nikam neukládá, je pouze vypsán.


Makra pro události dokumentu se nastavují v Nástroje/Přizpůsobit/Události, přičemž v dolním řádku 'Uložit do' je daný dokument, případně celé LibreOffice -> ale pro celé Libre by to samozřejmě chtělo ta dvě makra zkopírovat do nějakého modulu Libre a nikoliv je mít v dokumentu.

#18 Re: Calc » Rozbalovací seznam pomocí makra » 26. 7. 2019 15:45:56

Myslíte rozbalovací seznam jako z menu Data/Platnost? Procedura vlozitSeznam do buněk A1,B1,C1 vloží nějaké ty rozbalovací seznamy.

Sub vlozitSeznam 'vloží do buňek A1,B1,C1 rozbalovací seznam jako z menu Data/Platnost
	dim bunka, oSheet
	oSheet=thisComponent.sheets(0) 'první list sešitu
	
	rem musí se určit buňka a do ní vkládat fcí vlozPlatnost()
	bunka=oSheet.getCellByPosition(0,0) 'např. buňka A1
	vlozPlatnost(bunka, array("Ano","Ne","Nevím") ) 'vloží do buňky rozbalovací seznam
	bunka.cellBackColor=RGB(234,251,211) 'obarvit pozadí buňky když třeba nezadávám výchozí text
	
	bunka=oSheet.getCellByPosition(1,0) 'B1
	vlozPlatnost(bunka, array("Jedna","Dva","Tři"), "nevybráno" ) 'vloží do buňky rozbalovací seznam i s textem před vybráním hodnoty
	
	dim pole()
	pole=array("ABC","DEF","XYZ") 'položky seznamu
	bunka=oSheet.getCellByPosition(2,0) 'buňka C1
	vlozPlatnost(bunka, pole(), pole(0) ) 'do buňky s textem první položky
End Sub

Sub vlozPlatnost(oCell as object, pole(), optional sVychozi$) 'vloží do buňky rozbalovací seznam jako z menu Data/Platnost; při zadání sVychozi nastaví i výchozí text v buňce
	dim oValid, s$, i%, sUv$
	if NOT isMissing(sVychozi) then oCell.string=sVychozi 'výchozí hláška do dané buňky
	rem vytvoření řetězce s položkami seznamu
	sUv=chr(34) 'znak uvozovky "
	s=sUv 'řetězec s položkami do seznamu s první otevírací uvozovkou; musí jít o řetězec ve formátu: "možn1";"možn2";"možn3" atd.
	for i=lbound(pole()) to ubound(pole()) 'prochází položky seznamu
		s=s & pole(i) & sUv 'přidá položku s uzavírací uvozovkou
		if i<>ubound(pole()) then s=s & ";" & sUv 'když nejde o poslední položku tak ještě vloží středník a otevírací uvozovku pro další položku
	next i
	rem nastavit seznam do buňky
	oValid=oCell.Validation 'výchozí Data/Platnost v buňce
	with oValid
		.Type=com.sun.star.sheet.ValidationType.LIST 'jakožto seznam
		.setFormula1(s) 'položky seznamu
		.IgnoreBlankCells=true 'ignorovat prázdné buňky
		.ShowList=1 'zobrazení vybírátka (šedý čtverček s černým trojúhelníkem pro výběr hodnot)
	end with
	oCell.Validation=oValid 'nastavit do buňky daný seznam
End Sub

#19 Re: Calc » Jak udělat z tabulky lineární seznam » 14. 7. 2019 18:38:36

Zde řešení kopírováním přes getTransferable() což sice není nejrychlejší, ale mělo by to kopírovat i různé formáty buněk.
https://uloz.to/!50zsZq8bUUiU/sloupce-do-radku-1kl-ods
Spustíte to z menu SloupceDoŘádků, vytvoří si to nový list CIL kam budou vložena data.   

Zpracovává buňky do prvního prázdného řádku ve sloupci A, do prvního prázdného sloupce v řádku 1.
Zeptá se vás jestli schovat okno a když dáte OK, tak ho schová, což operaci značně urychlí.
Je tam ukazatel průběhu co se aktualizuje po deseti řádcích, ten počet řádků je v proměnné krokPrubehu.
Jede to po dvojicích podle toho vašeho příkladu: AB jako jakási "univerzální" počáteční hodnota a pak CD/EF/GH/IJ jako další hodnoty, tudíž řádky budou ABCD, ABEF, ABGH, ABIJ atd.
Prázdné hodnoty (nevyplněné buňky) kopíruje též, řádky s prázdnými hodnotami kdyžtak skryjete z menu Data/ Další filtry/ Standartní filtr...
Ukázkové hodnoty jsou z toho neutrova příkladu, zatímco jsem to testoval pouze na těch vašich pár ukázkových hodnotách, tak neutr už zveřejnil svůj výsledek a tak jsem po shlédnutí jednoduše zkopíroval jeho rozšířené testovací hodnoty :-).

#20 Re: Calc » zjistit makrem zda je pdf otevřené-VYŘEŠENO » 4. 7. 2019 14:35:28

Dnes mě napadlo zkusit ten soubor přejmenovat. Není to stopro řešení neboť některé programy neotevírají původní soubory ale udělají si kopie do svého tempu, nicméně s PDFky mi to pod FoxitReaderem funguje dobře, ten otevírá originály a otevřený originál by přejmenovat jít neměl.

sub testPrejmenovaniSouboru 'test na otevření souboru přejmenováním
	on local error goto chyba
	dim adresar$, soubor$, prefix$, s1$, s2$
	prefix="PREJMENOVANO-"
	adresar="d:/"
	soubor="tabulka-vzorova.pdf"
	s1=convertToUrl(adresar) & soubor
	s2=convertToUrl(adresar) & prefix & soubor
	NAME s1 AS s2 'přejmenuje na prefixPůvodníJméno
	NAME s2 AS s1 'přejmenuje zpátky na PůvodníJméno
	exit sub
chyba:
	if 1=msgbox(s1 & chr(13) & "se nepodařilo přejmenovat, nejpíš je otevřený." & chr(13) &  "Zavřít program?",17) then
		shell("taskkill", 0, "/f /im FoxitReader.exe", True)
	end if
end sub

#21 Re: Calc » Změna pořadového čísla - VYŘEŠENO » 27. 6. 2019 14:37:29

Tak tady máte to číslování stále dál. Přidal jsem tam po vzoru neutra jen svislítko jako oddělovač mezi 0719 čili to neudělá např. Vzor 0719, nýbrž Vzor 07|19. Kdybyste to chtěl bez svislítka, tak asi 10.řádek v makru je sOddelovac="|", tak tam nechte prázdné uvozovky (sOddelovac="") - jen pozor, pro název listu tam třeba lomítko "/" použít nelze.
Předělávka zde:
https://uloz.to/!odtffK2lo9L8/vzor-uprava2kl-ods


Také jsem skutečně neporozuměl požadavku přesně, avšak všeobecně mi připadá, že když je problém popsán nepřesně, tak půjde o spíše jednoduché vylepšení co uživateli usnadní to co již s Calcem umí a dělá, než že by chtěl nějaké sofistikované až komplexní řešení.


Já sám jinak dělám s Calcem dost málo a zdaleka neznám všechny jeho možnosti a spíše se tak různě krůček po krůčku něco přiučuji; zde jsem se třeba od neutrova příkladu naučil jak se dělá s roletkami (a že to je z menu Data/Platnost) a že hodnoty jdou v jiných listech hledat jednoduše pomocí VLOOKUP. To si umím představit, že bych mohl někdy využít a za to jsem rád :-).

#22 Re: Calc » Změna pořadového čísla - VYŘEŠENO » 26. 6. 2019 09:37:50

neutr: v té vaší ukázce chybí ty vzorce pro to, aby se při výběru firmy z roletky přepsala adresa/IČa/kontakty v buňkách C7-C11, natvrdo tam zůstává: Ještědská 1524/2 atd.
Jinak výtečná ukázka, hned mě potěšilo když jsem se dozvěděl že nemusím testovat názvy listů ve smyčce ale je na to metoda oSheet.hasByName :-)

#23 Re: Calc » Změna pořadového čísla - VYŘEŠENO » 25. 6. 2019 18:00:54

Takže v té vaší ukázce jsem předělal to makro. Teď to funguje tak, že po kliknutí na tlačítko "nova" se z buňky E1 vezme ten název (je tam 06/19) a zvětší se o 1 číslo měsíce (když bude prosinec tak dá na 01 a zvětší o 1 rok) a tento název se objeví v inputboxu (namísto 06/19 se objeví 'Vzor 0719'). Když bude tento název potvrzen, tak se ten list 'Vzor 0619' zkopíruje do nového listu s názvem z inputboxu (tedy 'Vzor 0719') a přepne se na ten nový zkopírovaný list ve kterém se změní buňka E1 též na nový název (na 07/19).

Ukázka zde:
https://uloz.to/!w7BaHf9M5Usk/vzor-uprava1kl-ods

#24 Re: Calc » Změna pořadového čísla - VYŘEŠENO » 25. 6. 2019 11:56:00

Mohl byste to nahrát na uloz.to a dát sem odkaz? Na uloz.to jde i nahrávat aniž byste se musel registrovat. Pokud v tom sešitě není ono makro které na to používáte, nahrajte sem prosím i kód toho vašeho makra. Rád bych se na to též podíval.

#25 Re: Writer » seskupení objektů - VYŘEŠENO » 13. 5. 2019 10:57:16

Skutečně to po zkopírování nožičku bubliny hodí jinam :-). Ale funguje tu bublinu vybrat přes Ctrl a nožičku jí dát kam je potřeba; případně pohnout s celou bublinou.


Mám pocit, že jsem na to posunutí snad i někdy narazil, ale vzhledem k tomu jak jednoduše to lze korigovat tím výběrem přes Ctrl tak jsem se tím snad hlouběji nezabýval.


Jde tedy jistě o chybu, možná když někdo kdo se tomu věnoval zjistil jaký to s obrázky dělá bučus (tipuji že to s obrázky bude dělat více chyb než co jsme zde probrali), tak to vypnul jak píše neutr.

Zápatí

Používáme FluxBB