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

#1 9. 1. 2014 13:49:34

Gooorila
Člen
Registrace: 4. 10. 2009
Příspěvků: 43

Existuje databáze hotových maker?

Dobrý den

Jednou týdně si exportuji z Accessu do calcu tabulku, kterou si upravím (musím odmazat prázdné mezery, které tam jsou) a přidám si určitý počet sloupců, které mi označují pracoviště (máme na dílně 6 pracovišť a já si vytvořím 6 sloupců). Když zakázka opustí dané pracoviště, udělám si v jejím řádku a v daném sloupci značku.
Tímto si vedu jakýsi přehled, ať vím, kde se daná zakázka pohybuje.

Když ale každý týden vyexportuji tabulku, tak mám tyto sloupce samozřejmě prázdné. Takže musím mít dvě tabulky vedle sebe a ručně vyhledávat. Kouknu do nové tabulky do pole A1, načtu si číslo zakázky, kouknu do druhého listu a projíždím celý sloupec A, zda v něm není již tato zakázka. Když není, tak kouknu do nové tabulky na pole A2 a udělám to stejné. Když ale tohle číslo již figuruje, tak přepíšu stav výroby.

Píšu to zhruba tak, jak by to měl dělat program a tak mě napadlo to řešit nějakým makrem. Bohužel, vzorce ještě dávám, ale makra vůbec. Na druhou stranu zase nemá moc smysl, když mi někdo napíše to makro, protože to tu budu otravovat každou chvíli s něčím.

Takže dotaz zní: Existuje nějaká databáze maker? Já zhruba vím, co potřebuji, aby dělalo a jak by mělo být postaveno, takže třeba jestli by nefungovalo, že si najdu různé již hotové makra a "nějak" je poskládám do sebe.

Offline

#2 9. 1. 2014 14:00:59

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,525

Re: Existuje databáze hotových maker?

To jde snadno. Vydržte tak hodku a jí se na ty Vaše veci jdu kouknout.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#3 9. 1. 2014 16:06:47

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,525

Re: Existuje databáze hotových maker?

Tak jsem to skoukmul a je tam pár děsnejch chyb. Vyřešil jsem nejdřív proč vám nejedou ty kóty. Tam musí být absolutní adresy - tak jsem vypnul "záhlaví" řádků a sloupců aby se na to dalo koukat a ty adresy jsem přepsal v těch místech, kde je to namalované - a kóty fungují.
    Z maker jsem byl jelen, ale jenom proto, že nemohu najet na "AN2" to první makro vypadá, že by chodilo, jen potřebuje iteraci na obnjekty a mazání starého prostoru (malýma dveřma velké nepřemalujete). Také je to kopírování schránkou a to je problém. Jde to lépe bez schránky.
    To druhé makro je navedené na adresy vypsané přímo, zatímco to první makro odkazuje na pojmenované úseky - což je techničtější - méně složité.
    Když jsem u toho druhého makra hledal závadu, tak mi to 3x spadlo. To blbý AN2 jsem vůbec nenašel jako buňku - takže to je asi zamčený úsek(buňka) - ale nejspíš celé sloupce. Pak jsem chtěl postnout sešit jen s těmi jednoduchými úpravami - a nechodí Wiki - dneska se vše předělávalo - takže nyní musíme asi čekat.
     Tak jsem kouknul do toho druhého sešitu - to vypadá také dobře, a tak jsem mrknul na makra. Kde jste k tomu přišel? Tam se to tváří tak, že se volají drawPage - obrázky, ale podivně přes ctrl. Při tom jsem řádný objekt na stránce nenašel - tam není vůbec nic, co by se dalo zaměřit - jen sloupce a řádky. Takže by to mohl být případ zamčeného objektu, pokud tam tedy vůbec něco takového je. Samozřejmě já bych se ho nemohl dovolat - ale Vy asi také ne, pokud je to zamčeno ze všech stran (rámec objekt i kresba). Jenže já bych našel odkaz, že je něco zamčené - a nic. Teď si dám kafe a Vy mi napište co je s tím sloupcem kde je odkazováno v makrech.
      Já si poradím - odkážu na normálně volnou buňku, ale Vy byste měl vědět, že to může být problém. Makro to nepřečte. Takže to je asi efekt, který jste nechtěl.
      Až budu mít chvíli tak zase něco udělám a pošlu.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#4 9. 1. 2014 16:41:28

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,525

Re: Existuje databáze hotových maker?

Udělal jsem si kafe, dal kouřovou a hned jsem věděl, kdy by mohl být tan zakopaný pes - bylo to ono. To AN2 je ve sloučených buńkách. Bohu žel asi ne správně sloučených - normálně by to mělo být přesunuto do první buňky. Po sloučení není AN2 přístupné podobně jako když by to bylo zamčené.
     Zase když zruším sloučení jsme bez obrázků. Tohle chce jiné řešení. Odkazovat na zavřené sešity a v každém 1 obrázek (můžete je dělat v pohodě jak se Vám zachce). Makrem mu pošlete parametry, on se přestaví na hodnoty podla tabulky a vy ho vrátíte jako obrázek vedle tabulky (a bude to obrázek).
     Bude to mnohem lepší. Tabulka v prvním sešitě bude z normálních buněk. Potvrďte mi, že to mám otestovat.

PS : Tak jsem na to ještě jednou kouknul a zřejmě to "AN2" by mělo být správně "AP1" (ob jeden sloupec vpravo a jeden řádek nahoru) na které navazuje "výrobní číslo" s podivným vyjádřením "=CONCATENATE(AP1-1000000)".
Vzorec CONCATENATE() má syntaxi :
=CONCATENATE(abc;xy;..;...;..;něco;.........)
a chová se to takhle =abc&xy&..&...&..&něco&.........
Tedy 'členy' se spojují do jednoho řetězce, nejde o aritmetickou operaci.
   "AP1" leží opticky vedle "A1" a je to velké číslo, které zřejmě vzniklo právě z datumu a času buňky A1 při zadání =NOW(), nebo spíš Date() & Time(). Pak jde o unikátní číslo a udělat z něj výrobní číslo je dobrý nápad - musí to být ale nějaká aritmetická operace například =AP1-1000000.

   Tady se mělo asi odpovídat spíš na ta makra. Tak jsem si uvědomil, že možná byste využil mapovací sytém. Mám ho někde udělaný pro "Tajné písmo" (najde rozdíl mezi bílou implicitní a bílou explicitní barvou podkladu - a najde také všechny druhy "formátování včetně možného nastavení RGB o +/-1", obsahu bu%nky, jen ne zrovna ty rámečky), ale bez většího problému bych to asi měl udělat pro omezenou plochu i obsah buněk. To by mělo stačit jak na převod tabulek, tak na zmapování Vašich obrázků do makra.
    Nevím o tom, že by někdo vydával nějaké inovace maker, ale Dan Sedláček píše seriál - a fakt dobrý.

Editoval neutr (9. 1. 2014 21:55:30)


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#5 9. 1. 2014 23:22:43

Zvedavec
Člen
Registrace: 8. 11. 2004
Příspěvků: 479

Re: Existuje databáze hotových maker?

Něco takového?
http://sourceforge.net/projects/ooomacr … rce=navbar

Ještě toto vypadá dobře:
http://www.google.cz/url?sa=t&rct=j&q=& … 1L9G6ocuEA
670 stran s teorií a příklady maker, některá jsou přímo součástí dokumentu

Editoval Zvedavec (9. 1. 2014 23:26:52)


LO většinou poslední verze, na W7 prof. 32b/64b

Offline

#6 10. 1. 2014 09:02:09

Gooorila
Člen
Registrace: 4. 10. 2009
Příspěvků: 43

Re: Existuje databáze hotových maker?

Zdravím

Děkuji za vyčerpávající odpověď. Chvilku mi trvalo, než mi došlo, že odpověď patří do jiného mého tématu yikes).

Teď koukám, že to makro vážně nefunguje. Já to tak nějak rychle upravoval, ale zde: http://uloz.to/x5UM2k6z/test-ods mi to funguje. Dokonce mi to i nějak fungovalo v tom zaslaném vzoru, protože u něj jsem právě pozoroval to strašně pomalé.

Jde mi právě o to, zda má smysl pokračovat v tomhle řešení, nebo mám hledat nějaké alternativy. Stáhl jsem si doplněk CADOO.o, ale to mi udělalo jen rozšíření v DRAWu. Nebo třeba úplně nějak jinak...

Offline

#7 10. 1. 2014 13:20:24

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,525

Re: Existuje databáze hotových maker?

Já se na to mrknu. Dělám sice na dvou jiných projektech, ale docela náhodou budu potřebovat právě mapování (jedna z těch věcí - 'Správce hesel' kterou pořád vylepšuji - tam budu mapování - Vlastně 'tajné písmo potřebovat' jako vylepšení. Ještě jsem ho ale nenašel - a hledám ho asi 2 hodky.
     Ale určitě můžete zatím připravit úplně nezávislé sešity - v každém extra 1 obrázek - budeme je testovat na rychlost - načteme je do sešitu tabulky jako list a otestujeme jen import úseku ap. Já si poradím už s tím, co tady je. Nejsnadnější je udělat ve všech sešitech stejně "nejnutnější rastry" a odtamtud skrytě kopírovat - (sešity s malůvkami se neotevírají - dokonce Dan na to má tady v seriálu makro a chodilo, takže můžete i bez pomoci.
     Vymyslete ale jinou logiku pro tlačítkové spouštění - například 1 tlačítko a kombinace CheckBoxů, které se navzájem blokují. Před každé kopírování dejte celý úsek smazat. Při volání malůvek jim předáte parametry a ony se mohou nafukovat podle parametrů. Je to klasické předávání proměnných pomocí funkce, pro Sub a podobně.
     Pak se dá dovymyslet přenos obrázků - možná pomocí DrawPage, která je typicky obrazem Formulářových prvků - tedy tlačítek, ale i obrázkových map............
     V kařdém případě by bylo nejsnadnější každému druhu udělat středně velkou ikonu aby bylo vidět oč se jedná, a aby byl čitelný nápis s názvem. Z toho se pak udělají klikačky a nemusíte řešit žádnou logiku spouštění Jednoduše Tlačítko(číslo) > makro(číslo) > malůvka(číslo) > kopírovat.
     Tu pomalost způsobuje ten rastr, takže pak nemusít mít rastry v celám listě ani u zdroje ani u cíle. A bude to meteleskuBlesku.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#8 10. 1. 2014 14:33:26

Gooorila
Člen
Registrace: 4. 10. 2009
Příspěvků: 43

Re: Existuje databáze hotových maker?

Tak jsem se k tomu konečně dostal a pokouším se to prostudovat podrobněji:

neutr napsal(a)

Z maker jsem byl jelen, ale jenom proto, že nemohu najet na "AN2"

To je možná problém v tom, že makra se pokouším dělat tak, že se pokouším najít podobný calc s již vytvořeným řešením a pak se snažím vykrádat ty makra. Jsem si jist, že mi to makro fungovalo, ale nyní skutečně nefunguje a přiznám se, že jsem nenašel místo, které by řešilo pole AN2.

Makro chci použít pomocí pojmenovaných oblastí a to druhé jsem tam už přidával, protože mi "to přestalo fungovat" :o).

neutr napsal(a)

Tak jsem kouknul do toho druhého sešitu - to vypadá také dobře, a tak jsem mrknul na makra. Kde jste k tomu přišel?

To jsem zase udělal blbě já. Je to jeden z prvních pokusů, jak tu šablonu řešit. Zase jsem si našel nějaké makro, které mi vkládalo obrázky. Takhle jsem chtěl řešit vkládání obrázku, který byl nakreslený v cadu a vložený do listu.
Původně jsem chtěl řešit to vkládání právě nakresleným obrázkem na knkrétní místo. V obrázku by byly slepé kóty a v místě, kde by měla být hodnota, by se zobrazovala pomocí podmíněného formátování, ale bylo to velmi složité, když se budou měnit ty místa.

Jak jsem psal výše, já nechci být jako řada těch, kteří pošlou problém a jen čekají, kdo jim to napíše. Mám v plánu se makra naučit, protože v tom vidím velmi mocný nástroj, ale na staré kolena jsem se dal na studium VŠ (kde ty makra taky nějak budou) a nemám na takové akce prostor. Proto se to snažím lepit a sem jsem napsal až ve chvíli, kdy už skutečně nevím co.

Píšeme zde do špatného tématu, ale zde je to podobný problém. Mám dvě tabulky, které se snažím porovnávat a zase jsem nejdříve řešil vzorcema a teď hledám makra, no...

Offline

#9 10. 1. 2014 16:14:59

Gooorila
Člen
Registrace: 4. 10. 2009
Příspěvků: 43

Re: Existuje databáze hotových maker?

Zdravím

Podle rady jsem si upravil ty kóty na pevný odkaz a z ničeho nic už makro funguje. http://uloz.to/xsXhmYTk/vzor-ods Zde jsem umístil šablonu, která již tedy funguje, pro porovnání rychlosti vykreslování. Vzhledem k tomu, že na stránce by měly být zhruba ještě další tři podobné objekty, které by se takto vykreslovaly, tak je to asi neúnosné.

Na vysvětlenou, mi ještě třeba přijde zakázka, kde je obyčejně větší množství dveří. Průměrně tak 8 dveří a více. Takže já vypíšu první list údaji ve formuláři, které se nemění a pak kopíruji list tolikrát, kolik mám dveří a pak už měním jen rozměry a vybavení. Takže ten soubor roste a kdo ví jak to bude vypadat s rychlostí ještě pak...

Offline

#10 10. 1. 2014 16:45:20

sedlacekdan
Moderátor
Místo Nehvizdy
Registrace: 21. 6. 2010
Příspěvků: 617

Re: Existuje databáze hotových maker?

Ta rychlost se dá obejít. Vzhledem k tomu, že nejdéle trvá právě vykreslování buněk. Navíc jich u Vás musí vykreslovat moc.
Zkuste makro upravit na:

sub kopiruj
doc = thisComponent
dokument = doc.currentController
okno = dokument.Frame.getComponentWindow ' přiřazení okna dokumentu
okno.setVisible(false) ' uzavřeme okno
list = doc.Sheets(0)
vyber = list.getCellRangeByName("AP213").string
if vyber = "1" then
adresa = "JKL"
elseif vyber = "2" then
adresa = "JKP"
elseif vyber = "3" then
adresa = "DKL"
elseif vyber = "4" then
adresa = "DKP"
' další možnosti elseif
endif
zkopiruj = list.getCellRangeByName(adresa)
dokument.select(zkopiruj)
obsah = dokument.getTransferable()
vloz = list.getCellRangeByName("Nakres_dveri")
dokument.select(vloz)
dokument.insertTransferable(obsah)
okno.setVisible(true) ' zobrazíme okno
end sub

Touto úpravou si zakážete zobrazení, zůstane jen šedivá obrazovka až do konce makra. Zrychlení je poměrně zásadní.
Dejte vědět....


;o)


Linux Mint 16 Petra - Apache OpenOffice 4.0.1
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

Zápatí