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

#1 8. 8. 2018 19:13:37

Superbobo75
Člen
Registrace: 8. 8. 2018
Příspěvků: 4

Podmíněné formátování mezi LibreOffice a Excel

Zdravím,

Mám v Excelu (2007) v podmíněném formátování vzorec: =JE.PRÁZDNÉ($J2)=NEPRAVDA - které si LibreOffice (6.1.0.3) správně interpretuje jako =ISBLANK($J2)=0 a funguje, ale hodnota 0 se již v Excelu po uložení správně nepřevede do původního formátu NEPRAVDA. V Excelu tím pádem už podmínka nefunguje.

V Excelu u podmínek Je možné zatrhnout volbu "Zastavit, pokud platí", což je super, pokud se stejné buňky ovlivňuje více pravidly, které by se jinak bily. Bohužel LibreOffice tuto volbu asi nezná a tím pádem s ní nepracuje a také ji už zpátky neuloží do Excelu.

Potřeboval bych s těmito podmíněný formáty pracovat v obou aplikacích. Co s tím?

Offline

#2 8. 8. 2018 19:44:08

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

Re: Podmíněné formátování mezi LibreOffice a Excel

U podmínek které definujete v jiném fpormátu je to složitější. Ale testoval jste přímo negaci výrazu bez "= NEPRAVDA"? Totiž ISBLANC($J2) - to je totéž anglicky se vyhodnocuje bez dalšího jen TRUE, ale to se zadává jako vzorec i když existuje podobná podmínka přímo z výběru.
     Takže asi by šlo testovat negaci NOT ISBLANC($J2), nebo IF(ISBLANC($J2)= False). Ale to se musí testovat z původního do LO a pak zpět. Možností bude asi víc. Já Excel neznám ale jsou zde uživatelé, kteří ho znají a mohou otestovat správně, i když by to bylo asi s podmíněným přepisem podmínek.


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. 8. 2018 00:32:46

Superbobo75
Člen
Registrace: 8. 8. 2018
Příspěvků: 4

Re: Podmíněné formátování mezi LibreOffice a Excel

Ad. 1 - použil jsem verzi =$J2<>"" - není to tak čisté jako s tím ISBLANC a NEPRAVDA/FALSE, ale funguje to.

Ad. 2 - Tak LibreOffice sám zastaví další pravidla, pokud je aktuální pravidlo splněno. Bohužel, po uložení zpět do excelu jsou volby pro Excel "Zastavit, pokud platí" původně zatržené > odtržené, a pravidla jedou všechny, až do konce. Zatím jsem nepřišel co s tím dál.

Offline

#4 9. 8. 2018 10:56:32

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 791

Re: Podmíněné formátování mezi LibreOffice a Excel

Předávání stejného souboru mezi LO a v Excelem je možné, ale jen omezeně. Calc není s excelem kompatibilní ani v chování funkcí, tak nekompatibilita na úrovni podmíněných formátů je drobnost. Na druhé straně, vyrobit kompatibilní verzi podmíněných formátů je docela fuška. I mikrosoft s tím má problém.

Řešením může být přepsání podmínek tak, aby formátování v excelu nebylo na pořadí závislé (stejně je tam chyba, za určitých pomínek se pořadí může změnit), více pod formátů znamenitě zpomaluje výpočet a při více podmínkách a několika opravách (ctrl c/v) se v tom za chvíli nevyzná ani autor.

Ohledně první poznámky. Pokud mám podmínku "něco" = true - nechápu, proč je tento zápis tak oblíbený - mohu ji zapsat jen jako "něco", obdobně "něco" = false přepíšu jako NOT("něco").

Pokud mám problém Calc : "něco" = 0, Excel : "něco" = NEPRAVDA a předchozí náměty z nejakého důvodu nelze použít, je stále dost možností, třeba 1*("něco") = 0, ...

Editoval lp. (9. 8. 2018 10:57:38)

Offline

#5 9. 8. 2018 19:40:47

Superbobo75
Člen
Registrace: 8. 8. 2018
Příspěvků: 4

Re: Podmíněné formátování mezi LibreOffice a Excel

Zdravím, to s tím pořadím atd. máte pravdu, ale pokud je několik podmínek pro stejné buňky, tak to nepomůže, protože jsou situace, kdy již není požadováno pokračovat dál v podmíněných formátech a to se pořadím nevyřeší. Ono je pěkné, že právě LibreOffice to má automaticky na základě logiky, že některá podmíněná formátování patří pro stejné buňky a je nežádoucí po splnění podmínky pokračovat na další, která by tu předchozí přebila.

Našel jsem nicméně řešení, která má další ALE. Řešením je, vytvářet podmíněné formáty přes VBA makra tak, že po otevření v Excelu se spustí makro které prvně všechny smaže, a vytvoří je jako nové - tím se obejde zrušené zaškrtávátko. Když se tabulka otevře v LO tak se VBA bude ignorovat a bude pracovat s aktuálními podmíněnými formáty. VBA je při vytváření natvrdo zapisuje do nabídky, jako bych to dělal ručně já. A protože neví jaké a v jakém pořadí už jsou podmíněné formáty vytvořeny (není je možné nijak pojmenovat), je na začátku toho vytváření příkaz, smaž všechny aktuální. Kdybych to tam nebylo, tak se vytvoří nové podmíněné formáty k těm stávajícím pokaždé, když by se otevřela tabulka.

A teď přichází to ALE, které bych tipoval že je BUG v LibreOffice. Pokud totiž chci po otevření spustit automaticky v Excelu makro, musí se do ThisWorkBook viditelné přes VBA editor vložit tento kod:

Private Sub Workbook_Open()
proved_nějaký_kod
End Sub

Který provede automatické spuštění po otevření tabulky(dokumentu). když se ale takový dokument poté otevře v LO a Uloží, ten provede v dokumentu nějakou chybu/změnu/něco. To se po otevření v Excelu projeví tak, že je přes VBA editor vidět, že jsou v dokumentu nové tzv. objekty. Např. mám v dokumentu záložku "List1" který se zobrazuje i ve VBA editoru, ale nově tam je s trošku jinou ikonou List2 (List1) - v samotném náhledu na tabulky žádný takový list vidět není. A pod ThisWorkBook je nový ThisWorkBook1. Od tohoto okamžiku přestanou fungovat všechny tzv. Události listu pod které patř. i pro mě důležíté Workbook_Open. Excel začně po pokusu spustit takový skript ručně zobrazovat chybu: Run-time error"429": ActiveX component can not create object.
Stačí skript přesunout do ThisWorkBook1, uložit a při pokusu ho zavřít a poté otevřít opět funguje. Jenže po dalším uložení v LO se vytvoří nový ThisWorkBook2 atd. Někde na internetu jsem našel na téma ThisWorkBooks1... 3 diskuzi, kde diskutujcí psali, že to řešíli i s někým s MS a ti sami nevěděli, jak se to tam dostalo, že to není možné. Ale nikdo neřešil, že se to stalo po práci s dokumentem v té době v OpenOffice a dneska LibreOffice. Viz. tato diskuze, kde jsou vidět i uvedené náhledy ikonek.


V tuto chvíli jsem již bezradný. Dá se to někde nahlásit do nějakého bug reportu? Kdyby mi to někdo pomohl přeložit případně do angličtiny, tak bych to někam postl.

Offline

#6 10. 8. 2018 06:16:14

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

Re: Podmíněné formátování mezi LibreOffice a Excel

Když si projdete oficiální stránky tak se dopracujete ke všemu - jsou ale anglicky - potřebujete Google, ale jde to. U nás v sekci články stačí zadat správné heslo do okénka vpravo - modrý pruh nahoře - například hlášení chyb :
Hlášení chyb - BugZilla - od Stanislava Horáčka - více článků v rámci tématu.
Jak požadovat novou funkci
Úpravy zdrojových kódů a podobně
     Skutečně se část týmu vývojářů zabývá kompatibilitou s MSO, ale podle mne balík 2007 už bude asi mimo zájem. Pochybuji že by někdo řešil i tak složitý problém pro starý balík MSO. Když už tak pro nové verze.


     Makra VBA jdou s Libre Office spouštět. Jen potřebují zaklínadlo VBA Support 1. Více najdete v nápovědě k Libre Office


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

#7 5. 9. 2018 09:08:06

Superbobo75
Člen
Registrace: 8. 8. 2018
Příspěvků: 4

Re: Podmíněné formátování mezi LibreOffice a Excel

Zdravím,

tak VBA support 1 se vkládá do makra automaticky, poté co se otevře xlsm soubor.
Chybu už nemusím nahlašovat, už to někdo nahlásil. Jinak to dělá i v Office 365.

Offline

#8 5. 9. 2018 22:03:52

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 791

Re: Podmíněné formátování mezi LibreOffice a Excel

Superbobo75 napsal(a)

, ale pokud je několik podmínek pro stejné buňky, tak to nepomůže, protože jsou situace, kdy již není požadováno pokračovat dál v podmíněných formátech a to se pořadím nevyřeší. Ono je pěkné, že právě LibreOffice to má automaticky na základě logiky, že některá podmíněná formátování patří pro stejné buňky a je nežádoucí po splnění podmínky pokračovat na další, která by tu předchozí přebila.

V Excelu se jednotlivé podmíněné formáty nepřepisují, ale doplňují. Tj. pokud jeden podmíněný formát naformátuje buňku, tak další formát, kde je podmínka splněna, předchozí změny nepřebarví, ale nafomátuje dosud "volné" prvky. Tj. při změně pořadí jednotlivých podmínek se může vzhled tabulky změnit.

Calc nastaví styl a hotovo. Nedomnívám se, že interpretace dat tak, aby při rozdílném fungování dvou programů oba programy zobrazovaly data korektně, je snadno řešitelná. Musí pomoci autor sešitu.

Pokud má podmíněný formát fungovat přenositelně je nezbytné psát podmíněný formát z hlediska calcu, tj. podmínka musí být pro každý formát jedinečná = nemělo by se uplatňovat pro jednu buňku více podmínek. Použité styly by měly obsahovat jen prvky, které se mohou uplatnit v podmíněném formátu v excelu. Potom na poředí nezáleží a zastavování vyhodnocení není nezbytné.

Calc by měl umět takový formát vkládat korektně do souboru. To by řešitelné být mohlo, i když konverze stylu do popisu fomátování nepovažuji za triviální.


ps. Podmíněné formáty v Excelu 2007 obsahovaly dlouhou řadu chyb.

Editoval lp. (5. 9. 2018 22:05:33)

Offline

Zápatí