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

#1 24. 2. 2014 17:35:44

rejze
Člen
Registrace: 9. 1. 2013
Příspěvků: 51

makro spoustene pri otevreni

Zdravim. Potýkám se s problémy se šablonou,která se otevře jako "bez názvu.ods" jen dokud do ní makrem neimportuji nové údaje.  Pak už se otevírá jako "formulář.ots". V seriálu p. Gesvantnera jsem se dozvěděl,že zmíněný problém se týká linuxu a má tam na to makro,které při otevření zkontroluje název a pokud najde "formulář.ots dokument zavře a znovu otevře asTemplate. Jednoduchý a skoro funkční. Všechno proběhne,ale po skončení makra se dokument okamžitě zavře. Dokud jsem před end sub nedal wait,ani jsem nestihl vidět,že to jinak funguje správně. Pokud makro přiřadím k tlačítku a pustim ho ručně,tak to zůstane otevřený. Zakopany pes tedy bude ve spuštění při otevření. Pokud má někdo tip co s tím,předem děkuji.

Offline

#2 24. 2. 2014 18:35:59

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

Re: makro spoustene pri otevreni

Nevím oč se přímo jedná. Ale jde zřejmě o nějakou fakturu, nebo něco podobného. Šablona se běžně otevírá jako nový sešit bez názvu. Takže z popisu nedovodu odvodit kam jste dal to tlačítko s makrem. Navíc používám Windows, takže nejsem v obraze. Přes to se domnívám, že řešením je spouštět makro na jinou událost.
    Pokud tomu rozumím, tak se makro provede a šablona se zavírá. Není zřejmé, zda to pan Gešvantner takto naprogramoval, nebo jste Vy přiřadil například makro k události "ukončit aplikaci", nebo něco podobného. Abychom si rozuměli. Lze přiřadit událost (akci) přímo například z Basicu - například tedy při otevření a podobně - tak jak se má asi ta šablona originálně chovat.
    Podobně se dá přiřadit tlačítko - stejnému makru. Takže není zřejmé v jaké fázi a jakým způsobem to spouštíte. Většinou se XML formuláře makrem neplní a sami o sebě se nezavírají. Je to ovšem možné udělat včetně přidělení názvu a adresáře. To ale souvisí zřejmě s návazností na další autoamtizované kroky. (Mám dojem, že jde o seriál OOo ve výrobní firmě - a těžko vytrhnout makro z jinak ucelené koncepce).
    Jenže pokud máme šablonu, tak ta by tyto problémy mít neměla - jde o popisovaný problém s Linuxem. Ovšem to už dnes platit nemusí (ověřil jste si to v nejnovější verzi Linuxu a kancelářské aplikace?). Další věcí je to, že makro nemusíme pouštět ze šablony - ale necháme ho jako součást běžného sešitu, nebo jen knihovny Standard OpenOffice (AOO, LO).


    Takže jestli je to tak naprogramováno, tak to bude někde na konci a bude to mít podobu nejspíš doc.close. Často před tím najdete ještě "doc.Store", tedy uložit. Ovšem jestli je to dané do nějaké funkce mimo vlastní makro, tak to může být složitější.
    Ta druhá varianta je to, že jste přiřadil tlačítku nevhodnou událost, nebo tam zůstalo přiřazení k události "ukončit aplikaci".


    Takhle z "voleje" by to vyřešil asi jen sám pan Gešvantner. Nevím zda sleduje toto fórum, ale bude asi lepší sem přímo postnout Vámi upravenou šablonu (sešit).


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 24. 2. 2014 19:00:29

rejze
Člen
Registrace: 9. 1. 2013
Příspěvků: 51

Re: makro spoustene pri otevreni

Tak docela vytržený to neni. Bylo to programovano presne takhle a jiné procedury to nevolá. Změnil jsem jen název dokumentu,který to predává jako parametr a podle kterého proběhne kontrola jestli se to otevřelo se špatnym nazvem. Žádný zavření dokumentu to neobsahuje. Makro je přiřazeno akci otevřít dokument a provádí se tedy hned. Tlačítku jsem to dal jen pro zkoušku jestli to poběží normálně a to opravdu jde dobře. Pokud zastavím běh makra před end sub zkoušel jsem to  třeba msgboxem,tabulka zústane otevřená dokud msgbox nepotvrdim. Pak už proběhne jen end sub a dokument se zavře. Po spuštění tlačítkem to funguje identicky,jen to zůstane otevřený. Možná je problém,že to bylo pro Oo a já mám Lo. Zkusim dat wait na začátek aby se stihly načíst data z provázaných dokumentů a nebo dám nakonec smyčku která bude čekat na tlačítko k uložení.

Offline

#4 24. 2. 2014 19:30:22

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

Re: makro spoustene pri otevreni

Ono je to možná způsobeno tím, že LO dává více důrazu na UNO nežli AOO. To je díno provázaností na Python. Proto je zde méně benevolence i k StarBasicu. Ale stejně se to zavírání musí někde v kódu objevit. Automaticky se nic zavírat nemůže bez toho, aby to nebylo někde nějak zadáno. Mohla by to být snad jen chyba.
     Možná byste to sem měl postnout. Já sice Linux nemám, ale mají ho jiní. Vím, že ho má například Dan Sedláček, nebo Petr Valach. Takže možná bych na to přišel, ale spíš někdo s Linuxem.


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 24. 2. 2014 20:19:15

rejze
Člen
Registrace: 9. 1. 2013
Příspěvků: 51

Re: makro spoustene pri otevreni

Spis si myslim,ze to spadne,nez ze by,se to regulerne zavrelo. Ted si nejsem jist,jestli to nenabizi obnovu dokumentu. Nejsem ted doma. Az se k tomu dostanu zkusim to a uvidim. Pak snad zkusim neco postnout. Zatim dik.

Offline

#6 28. 2. 2014 07:31:46

rejze
Člen
Registrace: 9. 1. 2013
Příspěvků: 51

Re: makro spoustene pri otevreni

Tak se skutecne ukonci program. Jako kdyz to killnu. Po aktualizaci to je jeste horsi a okno prestane odpovidat. To bude otazka spis pro linuxovy forum,ze? Kazdopadne nechapu,proc to po spusteni tlacitkam nezlobi. Jediny co me napada,ze v linuxu pokud skonci rodicovska uloha,ukonci to i vsechny potomky.

Offline

Zápatí