Myslím že je to spíš dobrá shoda okolností. Nyní se připravují pro verzi LO 6.2 konverze ze starých formátů, takže ta kolegyně Regina Henschel na tom možná přímo pracuje. Já jsem mezi tím zjistil, že v červenci 2018 byly aktualizovány nápovědy ve formátu CSV. Například je možné vycházet ze souborů LCOV - code coverage report (rok 2015) ale už to nemusí platit v uvedeném rozsahu. Spíš je vhodnější držet se nejnovějších příkazů (implementací). Jako například zde Příkazy UNO (CSV)
Je to celkem přes 1700 příkazů poplatných pro různé moduly. Odkaz od Reginy Henschel obsahuje přibližně 700 příkazů - ale jen pro modul Draw a zřejmě jen UNO. Pokud tedy máte zájem o více příkazů doporučuji stáhnout stránku jako textový soubor a uložit pro načtení Calcem. Může to zajímat více uživatelů - proto popíšu detailněji ověřený postup (i když existují i jiné podobné možnosti):
1. stáhnout stránku (například na plochu) ale uložit jako textový soubor.
2. Otveřít nový sešit Calc.
3. Volba LIST > LIST ZE SOUBORU... > VYBRAT help_uno-commands.csv at master · LibreOffice_help · GitHub.txt.
4. Volba filtru - doporučuji filtr UTF-8, podmnožina angličtina UK (USA), separátor TAB (nic jiného)
5. Jakmile potvrdíte vloží se nový list.
6. Bez meškání smažte sloupec "A" (jsou v něm nepotřebné položky jako odkazy a podobně).
7. Nyní bychom měli být v políčku A1 (původní sloupec "B"). Podržíme Shift+Ctrl+šipka dolů.
8. Je vybrán prázdný úsek A1:A144. V A144 je jeden příkaz o který nechceme přijít, proto podržíme poze Shift+šipka nahoru. Zůstane vybrán úsek A1:A143 který smažeme jako řádky. Následně máme v A1 položku .uno:AVMediaPlayer.
9. Stiskneme Ctrl+šipka dolu. Jsme na konci a máme vybránu položku service:com.sun.star.deployment.ui.PackageManagerDialog, kterou doporučuji spíš smazat. Je to sice odkaz na modul, ten ale budeme hledat jen vzácně.
Zůstane nám 1701 jednotlivých záznamů ve sloupci A. Tyto mají formát nikoliv CSV, ale JSON. Raději si to ukážeme :
.uno:AVMediaPlayer
.uno:About
.uno:AbsoluteRecord
.uno:AcceptChanges
.uno:AcceptTrackedChanges
.uno:ActionMode
.uno:ActiveHelp
.........
.uno:ZoomPrevious
.uno:ZoomToolBox
.uno:convert_to_contour
Nyní bych doporučil pomocí dialogu NAJÍT A NAHRADIT změnit dvojtečku za tečku jednoduchou, nebo podtržítko. Tím dostáváme syntax pro Basic. Je to ale na úvaze protože když naopak změníme jednu dvojtečku za dvě dvojtečky bude hledání směrováno více na moduly OpenOffice například UNO Automotion OpenOffice, nebo Global index Apache OpenOffice a podobně. V odkázaných stránkách je vidět proč hledat dvojitou dvojtečku, nebo podtržítko, jednoduchou tečku, nebo také třeba lomítko místo dvojtečky.
Problém má několik rozměrů. Prakticky je lepší hledat jednoduchou tečku, nebo podtržítko. Tyto znaky vedou vetšinou na různá fóra kde najdeme kompletnější, nebo rozmanitější možnosti. Problém je v tom, že k příkazu je nutné zadat ještě parametry. Právě toto nevyčteme z ukázkových příkazů.
Cesty jsou dvě základní. Buď hledat v oficiálních nápovědách, nebo na fórech. Oficiální nápovědy většinou odkazují právě na moduly OpenOffice, které jsou specifické dvojnásobnou dvojtečkou (stejně tak pro LO), ale LO už nemusí úplně akceptovat stejné příkazy pro AOO. Právě to co LO akceptuje je vhodnější hledat na zdrojích LO - tak jak udělala Regina Henschel. Zde se ale jedná zřejmě (z kódu to nepoznám) pouze o UNO.
StarBasic má ekvivalenty bez UNO, ale těch je více ve fórech AOO (jednoduchá tečka, podtržítko). Nemusí ale fungovat v LO. Právě hledání ve fórech je vhodnější pro začátečníky. Prvou možností > hledání v modulech je spíš pro pokročilé programátory. Jde sice jen o rutinu - dopracovat se z příkazu na definice parametrů, ale není to moc přehledné. Druhou možností je hledat spíš přímo na fórech kde se už parametry objevují - bez nich nejde nic řešit.
Pro LO se stále častě prosazuje scriptování v jiných jazycích (tak jak popisuje kamlan). Já osobně se takto "odvracím" na JavaScript který má v LO také Debugger "Rhino". Zde právě existuje možnost používat JSON (JavaScript Object Notation). Ale já to používám trošku jinak, nežli je čistá implementace.
JSON lze naimplementovat do LO a ten jde následně používat stejně jako UNO - i když na rozdíl od UNO je potřebné (vhodnější, výhodnější) volat odkazované knihovny jQuery, Ajax a podobně. To je ale výstup přímo do HTML, který se musí dík JSON zkrotit pro užití ve Writer. Pro dotaz je zajímavá knihovna Canavas.
Tento postup se dá srovnat také s používáním asistenčních programů které voláme pomocí Shell příkazů. Například volání Gimp a Inkskape :
Sub Start_Gimp
Shell("C:\Program Files\GIMP-2.2\bin\gimp-2.2.exe")
End Sub
Sub Start_Inkscape
Shell("C:\Program Files\Inkscape\inkscape.exe")
End Sub
Takže možností jak pracovat nejen s grafikou je více. Faktem je, že je nejlepší mít vše přímo v instalaci tak aby to chodilo i bez síťových, nebo externích knihoven. UNO není nejrychlejší, ale na druhou stranu je to asi nejužitečnější a nejperspektivnější možnost ve smyslu "životnosti".
Danny Brewer používá reálná makra pro Basic i UNO - tedy včetně parametrů a tím má jeho stará práce stále aktuální přidanou hodnotu. Dá se z toho dobře vycházet i bez znalostí jiného programovacího jazyka.
Editoval neutr (9. 1. 2019 08:35:49)
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É