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

#1 5. 1. 2021 14:39:31

vbranda
Člen
Registrace: 20. 11. 2012
Příspěvků: 11

Přechod od OpenOffice na LibreOffice.

Několik let jsem používal OO. Nyní jsem se pokusil přejít na LO.
U OO jsem v tabulkách (ve Writer i Calc) požíval
formát datumu D.M.YYYY (bez mezer např. 1.3.2020).

Bohužel LO tento formát mění na D. M. YYYY
a ničí mi moje dokumenty.
LO ani v přednastavených formátech datumu formát D.M.YYYY nemá.

Nepodařilo se mi najít kde to lze centrálně změnit,
takže se  budu muset vrátit k OO.

Offline

#2 5. 1. 2021 16:46:59

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

Re: Přechod od OpenOffice na LibreOffice.

Podobný problém jako v Calcu, jenom nastavení toho správného D.M.YYYY je maličko složitější.


1) - Ve Writer jde sice také o pole, ale k tomu se dostanete složitěji. Nejprve se přesvědčíme jak mám znázorněna pole. Jedná se o stínování polí a název polí. Pokud je v nabídce ZOBRAZIT zaškrtnuta volba STÍNOVÁNÍ POLÍ bude datum vizuálně podbarvené šedivou barvou. Při tisku, nebo exportu do PDF to nevadí, ale vizuálně to dost ruší.
     Horší je to s NÁZVEM POLÍ. Když je zaškrtnuta tato volba uvidíte jenom DATUM, nebo DATUM (neměnný). Když odstraníte zaškrtnutí NÁZEV POLÍ objeví se skutečné datum. Takže pro neznalého doporučuji zaškrtnout pouze STÍNOVÁNÍ POLÍ. potom JE ŠEDĚ PODBARVEN JAK "NÁZEV POLE", tak skutečný DATUM.


2) - Writer se nastavuje na správný formát Datum(u) pomocí dialogu "speciálních polí". Ten vyvoláme pomocí Ctrl+F2 (nebo z nabídky VLOŽIT > POLE > DALŠÍ POLE > KARTA DOKUMENT > sloupec TYP > DATUM).
     Na rozdíl od Calcu ve Writer nelze hned zadat formát přepisem DD.MM.YYYY. Nejdříve musíme najet do sloupce FORMÁT. Zde jsou na začátku dva stejné formáty 31.12.1999 až upravíte na svůj formát přibude k nim ještě 3. stejný. Ten bude na prvním místě, ale nepředbíhejme.
     Ve sloupci FORMÁT je volba DALŠÍ FORMÁTY. Tuto volbu pro-klikneme a vyskočí dialog ve kterém je možné formát přeformátovat stejně jako v Calcu - tedy DD.MM.YYYY přepsat na D.M.YYYY. To způsobí právě ten třetí stejný formát na začátku (dialog potvrdíme OK současně). V hlavním dialogu se zobrazí svislý posuvník protože se nabídka do okna nevejde) -  a klikneme v hlavním dialogu na Vložit.


3) – Změna formátu se udržuje jen s existujícím datum(em). Bude též muset vždy nastavit znovu zejména v novém sešitě. Pokud už v sešitě upravený formát existuje budete muset postupovat stejně jako když tam Váš formát není – jen by měly být vidět tři stejné formáty na začátku – kliknout na ten první. Z nabídky VLOŽIT > POLE > DATUM bude neúspěch – vloží se tam DD.MM.YYYY.


        Jen pro Vaši informaci. U Libre Office lze nastavit například pomocí volby NÁSTROJE > MOŽNOSTI > LIBREOFFICE > POKROČILÉ > tlačítko OTEVŘÍT EXPERTNÍ NASTAVENÍ určité předvolby. Musíte v horním řádku zadat vhodné heslo – například „Date", „format" a tak dál. Potom se to pokuste najít v nabídkách. Je to ale opravdu jen pro zdatné – spíš Vás upozorním – netestujte to.
       Teoreticky by šlo přepsat nastavení v NÁSTROJE > MOŽNOSTI > JAZYKOVÁ NASTAVENÍ > JAZYKY > položka FORMÁTY > MASKY PRO ROZPOZNÁVÁNÍ  DATA. Jde to přepsat, ale já to netestoval abych si vše nerozhodil. Jsou tam tyto předvolby (D.M.Y;D.M.;D. M.;D. M. Y;D. M.;D. M. Y) takže vidíte, že tam přímo používaný formát není.


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

Offline

#3 5. 1. 2021 19:07:42

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: Přechod od OpenOffice na LibreOffice.

Ve Writeru se ke změně formátu vybraného pole se dostanete i pravým myšítkem a vyberete Upravit pole...


Pro Writer můžete zkusit tohle makro, to vám možná všechna pole Datum nastaví na hodnotu D.M.YYYY. V novém dokumentu mi to však blblo a hodnoty datumů to pro 05.01.2021 překopalo na číslo 44201,79. Šly sice přes pravé myšítko ručně přenastavit na požadovaný formát D.M.YYYY, ale proč to tak zablbo to nevím. Ale v jiném dokumentu mi to přenastavilo v pořádku. 

Sub zmenFormatDatumu 'možná změní formát polí Datum na D.M.YYYY
	on local error goto chyba
	dim oDoc as object, oFields as object, oEnum as object, oField as object
	oDoc=ThisComponent
	oFields=oDoc.TextFields
	oEnum=oFields.createEnumeration 'procházení
	do while oEnum.hasMoreElements 'procházet textová ple
		oField=oEnum.nextElement 'jednotlivé textové pole
		if oField.supportsService("com.sun.star.text.TextField.DateTime") then
			rem zde číslo uvádí formát datumu
			oField.NumberFormat=10107 '10107 je D.M.YYYY
		end if
	loop
	exit sub
chyba:
	msgbox("Chyba: " & Err & chr(13) & Error$ & chr(13) & "řádek: " & Erl)
End Sub

A když potřebujete zjistit kterou číselnou hodnotu má vybrané pole Datum tak tohle makro

Sub vypisFormatDatumu 'vypíše číslo formátu polí Datum, ale nevím jak  se to číslo vypočítává
	on local error resume next
	dim oDoc as object, oField as object, oSel as object
	oDoc=ThisComponent
	oSel=oDoc.getCurrentSelection().getByIndex(0)
	if oSel.string<>"" then 'je něco vybráno
		oField=oSel.TextField
		if oField.supportsService("com.sun.star.text.TextField.DateTime") then
			msgbox oField.NumberFormat
		end if
	end if
End Sub

Editoval kamlan (5. 1. 2021 19:09:29)

Offline

#4 5. 1. 2021 19:34:34

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

Re: Přechod od OpenOffice na LibreOffice.

Když je to makrem, nebo i manuálně, tak by měl být vybrán celý text a potom přeformátovat. Podobně v Calcu. Ale problém formát pole "Datum" lze řešit náhradou za text. jde spíš o to, proč je formát "Datum" tak důležitý, že uživatel přemýšlí o návratu k Apache OpenOffice.
     Napadá mne jenom práce s historickými texty jako jsou například data narození, bitev a podobně. U technických záležitostí by to nemělo vadit - naopak datum DD.MM.YYYY má konstantní délku. Ale autoru o "délku" nejde. Používal by formát D.M.YY. Potom by asi vyhovoval i jiný formát - římskými čísly, nebo zkratkou složenou ze tří písmen z názvu měsíce. V každém případě moc důvodů proč trvat na formátu D.M.YYYY nevidím. Vypadá to jako příznak osobního stylizování, který niv jiného nereprezentuje.


     Ještě by možná pomohla "Výchozí šablona", ve které je specifický formát uveden, ale nejspíš i tento postup se autorovi líbit nebude.


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

Offline

#5 5. 1. 2021 20:00:29

vbranda
Člen
Registrace: 20. 11. 2012
Příspěvků: 11

Re: Přechod od OpenOffice na LibreOffice.

Rád bych vysvětlil svoje pohnutky.
Formát D. M. YYYY je příliš dlouhý.
Formát DD.MM.YYYY považuji za méně přehledný.
Mnou preferovaný formát D.M.YYYY považuji
za přehledný a nejpřirozenější.

Offline

#6 5. 1. 2021 20:17:26

vbranda
Člen
Registrace: 20. 11. 2012
Příspěvků: 11

Re: Přechod od OpenOffice na LibreOffice.

Narazil jsem ale na další problém.
V LO Writer jsem si udělal malou zkušební tabulku.
Pole B1 a B2 jsem pomocí "Tabulka/Formát čísla"
nastavil na "Datum D. M. YYYY (první položka v okně Formát)
Do pole B1 jsem napsal 4. 1. 2021
a do pole B2 jsem zapsal vzorec =<B1>+10.
První výpočet proběhl v pořádku na 14. 1. 2021.
Potom jsem v poli B1 změnil měsíc z 1. na 2. (4. 2. 2021).
V poli B2 se objevilo 9. 1. 1900,
protože LO sám od sebe přeformátoval pole B1 na Text.

Offline

#7 5. 1. 2021 20:59:24

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

Re: Přechod od OpenOffice na LibreOffice.

vbranda napsal(a)

....
1) - Do pole B1 jsem napsal 4. 1. 2021
a do pole B2 jsem zapsal vzorec =<B1>+10.
První výpočet proběhl v pořádku na 14. 1. 2021.
2) - Potom jsem v poli B1 změnil měsíc z 1. na 2. (4. 2. 2021).
V poli B2 se objevilo 9. 1. 1900,
protože LO sám od sebe přeformátoval pole B1 na Text.

     Writer na práci se vzorci je v podstatně nešikovný. Má jenom několk málo matematických funkcí. V žádném případě ho nelze srovnávat s Calcem. Jde zžejmě o odkazy - bylo datum 4.2,2021 formátovaáno jako datum? Formát datum reprezentuje číslo dne, jinak je to text. V Calku by to prošlo.


     Doporučuji tabulky importovat z Calcu jako RTF. Formáty lze sice ve Writer vybrat pomocí klávesových zkratek a přeformátovat, ale z Calcu (jako RTF) by se to mělo zapsat jako formát datum.
     Pokud použijete makro od "kamlan", tak to má nedostatek. Existují dva druhy datum(ů). Jednak satum(neměnné) a potom opak - (měnící se). Kamlan to komentuje - ale neví že existuje "master field" kde je nutné rozlišit typ datumu, nebo zadat obě možnosti formou "OR". Navíc tabulky je nutné procházet extra (parserem), jinak by to měl iterátor přeskočit.
     Jinak je potřeba upřesnit jak se datum vyskytuje ve Writer. Explicitně formát D.M.YYYY nevložíte - musíte absolvovat anabázi Ctrl+F2 - specifikace formátu a to nyní z "voleye" nevím - zda to pobere i tabulky, které jsou objekty vloženými do obsahu Writer.
     Musel byste detailněji popsat kde se datum(y) vyskytují. Může jít o vložené obsahy, nebo sekce, tabulky, nebo přímo objekty OLE, DDE, ....
     Máte asi pravdu pokud namítnete, že kdyby tento formát šel přednastavit "tvrdě", nebylo by co řešit. Ovšem aby to vývojáři změnili, bylo by asi potřeba řádně zdůvodnit proč je taková funkcionalita potřebná. Nějaké "mně se víc líbí" D.M.YYYY by asi nemělo odezvu. Existuje totiž možnost "nastylovat" svoje formáty, což sestává také z formátu Datumu. To by se ale musel ondividuální formát uložit mezi standardní formáty - a to zatím nelze. Já tedy také nevím vše, ale myslím, že to tak snadno nejde.


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

Offline

#8 5. 1. 2021 21:27:58

vbranda
Člen
Registrace: 20. 11. 2012
Příspěvků: 11

Re: Přechod od OpenOffice na LibreOffice.

Já vím, že datum je reprezentován číslem.
Jak jsem psal, pole jsem jeprve naformátoval na standardní datum D. M. YYYY,
Zadal jsem datum 4. 1. 2020. Formát byl v této chvíli stále datum.
Potom jsem přepsal měsíc (místo číslice 1 jsem napsal 2).
LO Writer při tom sám od sebe změnil formát na Text.
Takže tím pádem se pokazil výsledek výpočtu.

Toto je bohužel dost podstatný problém,
takže formát datumu D.M.YYYY již není podstatný.

V OO mi toto fungovalo bez problému 8 let.
Samozřejmě, že RTF tabulka z Calc by byla dokonalejší,
ale jedná se spíše o textový dokument s různě formátovaným textem,
tabulky jsou tam spíše kvůli rozmístění textu.
Ze matematických vzorců se používá poze připočtení několika dnů k datumu,
součet několika číselnách položek ve sloupci a výpočet %.

Offline

#9 5. 1. 2021 23:27:39

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: Přechod od OpenOffice na LibreOffice.

Mě to myslím funguje, první sloupec v tabulce je normálně jako Text ale může být i jako Datum, jen ten druhý musí být jako datum. Nejdřív jsem však do něj vložil vzorec (do B1 vzorec =<A1>+10) a pak jej naformátoval na datum. Když jsem jej nejdřív naformátoval na datum a pak vložil vzorec, tak to ten formát datumu rozhodilo. Ale opačně tedy nejdřív vzorec pak nastavit formát mi to chodí. Ukázka i s videem: https://uloz.to/tamhle/v9xOjWsYHQAc

Offline

Zápatí