Nesmyslné chování programů MS Excel a Word, když je chcete vzájemně propojit skrz hromadnou korespondenci a potřebujete v nich uvádět datum, o němž jsem pojednával již dříve, nabralo nové obrátky, o které se nelze než podělit. Řešení, k němuž jsem minule dospěl, sice funguje, Office (alespoň ve verzi 2013) však nadále používá vlastní hlavu víc, než je zdrávo.
Stručně k předešlému článku: Máte-li v Excelu datum v krátkém formátu (např. 11.12.2018), hromadná korespondence ve Wordu u něj může zničehonic začít přehazovat měsíc a den (vznikne tak 12.11.2018). Řešením je mít v tabulce formát data dlouhý (např. 11. prosinec 2018).
Říjen, říjen, prosinec
Pokud máme v daném sloupečku data pouze jako jednotlivé dny, funguje řešení spolehlivě. Problém však nastává ve chvíli, kdy potřebujeme do buňky vepsat i „data nedata“, např. rozpětí dnů (1.–15. 11. 2018), určité dny v týdnu (každá středa) či delší časové období (rok 2018). Excel takový údaj logicky nepovažuje za datum a při změně formátu data ho zachovává v původní podobě. To je sice naprosto v pořádku, ale jen do té doby, než celý sloupeček začne předávat Wordu.
Celé roky jsme nezaznamenali problém a vesele psali do políček s daty, co se nám zlíbilo. Až do listopadu 2018. Tehdy si Office řekl, že si postaví hlavu, a Word všechna listopadová data začal nekompromisně měnit na říjnová (20. 10. namísto 20. 11.). Kterýkoli jiný měsíc zdál se být v pořádku, jen ta jedenáctka ne a ne se ukázat. Začal jsem hledat příčinu.
Po více než hodinovém bádání s testovacími soubory jsem došel k závěru. Chyba není v několikasetřádkové tabulce, ale přímo v programu. I tabulka o dvou řádcích se totiž chová stejně, a sice následovně:
- V obou řádcích je prosté datum (např. 5. červen 2018 a 5. listopad 2018): Není problém.
- První řádek obsahuje „nedatum“ (např. rok 2018): Word zobrazuje rok 2018 a 05. 10. 2018.
- První řádek není formátován jako datum (ale např. jako text): Nezávisle na obsahu prvního řádku je ve druhém 05. 10. 2018.
- Oba řádky jsou formátovány jako text: Word přehazuje dny a měsíce, druhý řádek tedy zobrazí jako 11. 05. 2018.
Ocitl jsem se v začarovaném kruhu – odstranění jednoho problému je příčinou vzniku druhého. Jak „ztohoven“?
Menší zlo
Pokud nechci předělávat celou tabulku a vymýšlet cestu, jak „nedata“ zahrnout, a přesto je mít bokem, a zároveň zachovat uživatelskou jednoduchost, nabízí se pátá, použitelná, nicméně lehce zpátečnická varianta. Formátovat vše jako text (viz bod 4), ale rezignovat na \@ "DD. MM. YYYY"
v kódu slučovacího pole. Předejdu tím jak změně listopadu na říjen, tak i přehazování dnů a měsíců. Vykoupím to ale nemožností ovlivnit, jak bude prosté datum (jichž je naprostá většina) vypadat. Musím tak počítat s tím, že každé bude vypadat jinak v závislosti na tom, jak je daní uživatelé do Excelu nahází. Že v Excelu i Wordu může být za sebou nelibá změť více či méně korektně zapsaných dat (např. 01. 09. 2018, 2.9.2018, 3. září 2018, 04.09.2018, 5. 9. 2018, …).
Stejně jako na závěr předchozího textu o hromadné korespondenci bych chtěl vyslovit přání, že bude i tento ku prospěchu dalším kancelářským bojovníkům a že se některý z nich podělí v komentářích o svá případná lepší řešení.
Přečteno 2878krát.