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

#1 Re: Calc » Podmíněné formátování mezi LibreOffice a Excel » 5. 9. 2018 09:08:06

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.

#2 Re: Calc » Podmíněné formátování mezi LibreOffice a Excel » 9. 8. 2018 19:40:47

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.

#3 Re: Calc » Podmíněné formátování mezi LibreOffice a Excel » 9. 8. 2018 00:32:46

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.

#4 Calc » Podmíněné formátování mezi LibreOffice a Excel » 8. 8. 2018 19:13:37

Superbobo75
Odpovědí: 7

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?

Zápatí

Používáme FluxBB