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

#1 12. 10. 2018 13:15:37

MilanUhrak
Člen
Registrace: 1. 11. 2005
Příspěvků: 39

Opět copy paste c calcu ( makrem )

Zdravíčko ...

Narazil jsem na problém, se kterým si nevím rady ... podobně jako kolega https://forum.openoffice.cz/viewtopic.php?id=701 jsem slučoval soubory do jednoho sešitu, ( no, dělala to kolegyně na starším PC ) ale na nových LOO toto makro nefunguje, konkrétně poslední funkční verze je LOO 5.2.0, ve vyšších verzích krok Paste tiše selže, neudělá nic.

celý dotaz i se zdrojákem jsem už postnul na asi mrtvé ask.office : https://ask.libreoffice.org/cs-cz/quest … e-v-calcu/

Chci se zeptet, zda je tento problém už znám, a pokud ano, jak ho vyřešit...

Děkuji za každou rozumnou odpověď
Milan

Offline

#2 12. 10. 2018 16:28:18

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

Re: Opět copy paste c calcu ( makrem )

Setkal jsem se s tímto problémem a také ho řeším v určité verzi. Můj osobní názor je ten, že vznikají problémy při formátech DOCX. Osvědčilo se mi kompromisní řešení, které vynechává pole která vyhazují chybu.
     Chyba mi vzniká při konverzi PDF do DOCX pomocí Finereader 14. Ale Docx má podobnou vlastnost zabudovanou nativně - nevím přesně co to je, ale starší formáty doc tohle nedělaly. Ochranné prvky se přenesou a přestože se vytvoří záložky na heslech správně, pokud je tam pole s původní ochranou (přenos z PDF do DOCX) parser přeskočí třeba ze záložky 5 na záložku 28.
     Normální požadavek je kopírovat text mezi záložkami, nebo "okolo" záložek. V dokumentu jsou 3 druhy záložek. některé se používají jen pro hyperlinky, jiné jsou typem "Obsahu". Je to těžba pro "repetitorium" několika kateder jedné fakulty a já terminologii nerozumím. Při tom se těží ještě z externích zdrojů od specializovaných slovníků po Google (stránky se uloží a těží místně).


     Musel jsem sobory o stovkách stran rozložit na jednotlivé stránky (z Finereader leze Docx). Následně tyto převádět makrem na na ODT. Při tom některé stránky vyhodí chybu a prostě se nepřevedou makrem. Tuto přípravu dělám v Calcu kde dávám odkaz ve sloupci A na původní formát DOCX, vedle ve sloupci B je převedený formát na ODT a když vznikne chyba, zůstane mi soubor ODT otevřený. V ten moment se do sloupce C vygeneruje odkaz na chybu.
     Takže po skončení konverze (v řádech desítek minut) mám otevřené soubory ODT které nešly kopírovat. Mají správné jméno ale jsou prázdné a neuložené přestože na ně je udělaný odkaz. Oprava je různá - nejlépe manuálním přepisem zdroje DOCX. Často tam jsou obrázky, nebo různá pole - často v nich nic není. Když bych na to přišel čím to je udělal bych filtr ale nemám na to čas ani chuť.


     Proč to píšu - umím rozsekat soubor na jednotlivé stránky, ale když jde o DOCX tak selhává metoda "transferable" - a to je to co popisujete jako chybu která dělá jakoby nic. Dělají to soubory XML (nevím jak Calc / Excel ale asi také).
     Když byste měl zájem tak budete potřebovat OCR (Finereader 14 má lacinou verzi pro školy). Originální zdrojové soubory uložíte jako PDF, toto načtete Finereaderem a uložíte jako jednotlivé stránky. Tím se ztratí IMHO 2/3 chyb popisovaného typu. U mne v rámci předmětu farmakologie (340 stran) zůstaly 3 stránky. Před tím jsem pouštěl test který takových chyb našel asi 2 desítky. Budou to asi sekce které jsou na více stranách.


     Takže moje odpověď zní - domnívám se, že systémové řešení neexistuje a není to ani bug - jen zřejmě záměr Microsoftu a naše filtry si s tím neporadí - respektive nemohou stejně jako v případě hesel. Je možné to obejít poměrně pracným způsobem a je to jenom částečné řešení.
     Pokud máte možnost použít podobný postup a uložit zdroje na jednotlivé stránky, tak Vám mohu postoupit nástroj který najde stránky které nelze kopírovat. Ty je pak nutné manuálně doslova "přepsat", ale nebude jich moc. Potom už můžete pracovat pomocí původních maker.


     Calc stačí uložit do adresáře ve kterém jsou zdroje DOCX. Zbytek se provede spuštěním Calcu který převede vše co převést lze do adresáře ve formě jednotlivých stran ODT. Chyby lze lehce ale ručně opravit a uložit.
     Standardně se kopírováním načte odstavec ve kterém je věta s hledaným heslem, ale nesmí to být součástí sekce, nebo pole z jié stránky. Proto nelze dělat opravy kopírováním, ale jenom přepisem (to je nejbezpečnější postup). I když ještě nevím zda se do ODT nedostaly nějaké podobné špeky.

     Pokud Máte zájem pošlu Vám ten Calc ale musím se zeptat vedoucí projektu.

Editoval neutr (12. 10. 2018 16:37:10)


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 Včera 08:57:10

MilanUhrak
Člen
Registrace: 1. 11. 2005
Příspěvků: 39

Re: Opět copy paste c calcu ( makrem )

Zdravím, pro ty, kdo by narazili na tento problém, tak

na ask.libreoffice mi odpověděl asi vývojář

změna chování LO nastala po commitu https://cgit.freedesktop.org/libreoffic … d58d6bdefa

author Eike Rathke erack@redhat.com 2016-07-28 18:51:01 +0200 committer Eike Rathke erack@redhat.com 2016-07-28 19:04:08 +0200 commit 984b0d1599ff1672cb0d28019bd652d58d6bdefa (patch) tree 2ecbcf72013f22886d3e85a9d92e13d003492b0e parent 4e85daeb78e9d9f290e49518b11efc2285f86713 (diff) Resolves: tdf#60021 disallow Paste when entire sheet is selected ... which exhausts memory unless you have 100GB or more of free RAM.

který opravoval bug https://bugs.documentfoundation.org/s... a v případě vybrání všech buněk je vložení zakázáno, aby se předešlo případnému vyčerpání paměti a pádu aplikace. Bude potřeba upravit makro - na řádku 226 nahradit výběr všech buněk výběrem oblasti buněk s daty.

Offline

Zápatí