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

#1 Re: Calc » Calc - Makra » 3. 11. 2015 17:25:49

Díky za příspěvky, nepotěšily ale povzbudily že v tom nejsem sám... :-)
ad Neutr: mohl bych poprosit o příklad fungujícího kódu právě k uvedenému makru na úpravu úvodního vzhledu ? (abych zkusil nějak začít)   
ad lp: Šablony jsou zde zcela mimo. Jde o to, abych si na vzhled na nějž jsem zvyklý upravil právě otevřený sešit, tj. nikoliv jen nový ale především existující (např. výsledky různých více či méně podařených exportů z informačních systémů - což je má obvyklá zábava). Obdobně si řeším řadu věcí, např. generování sql skriptů z datových řádků v sešitu aj...  (to se samozřejmě již nahrávačem udělat nedá, to lze skutečně jen napsat).

PJ

#2 Re: Calc » Calc - Makra » 30. 10. 2015 07:15:45

Díky za reakci (odkazy na zdroje k makrům)
Dodávám, že u mého makra je samozřejmě i "end sub", pouze při kopírování do schránky mi vypadlo :-)
Podstata mého příspěvku ale byla ve dvou věcech:
1) Špatná funkčnost i jednoduchých maker ve z VBA v LO/OO (škoda)
2) "Ukecanost" a složitost makrojazyka LO/OO proti VBA (pro neprogramátora fatální, pro mírně poučeného otravné)
3) Mizerná funkčnost vlastního nahrávače maker v LO/OO - to je z mého pohledu nejhorší. Při absenci dobrých komplexních  výukových materiálů (a ty nezlobte se opravdu k makrojazyku LO/OO nejsou) bývá studium nahraných maker důležitým zdrojem inspirace. Zde je to jen k vzteku...
PJ

#3 Calc » Calc - Makra » 28. 10. 2015 19:55:33

jandap
Odpovědí: 15

Makra - nefunkčnost jednoduchých maker (formátování)


Řadu let aktivně využívám Excel - převážně pro práci s daty (exporty/importy z ekon.databází, úpravy dat, přehledy). Taktéž řadu let fandím open alternativě (open office, libre office) a nesmírně bych si přál aby mohla být dobře použitelnou alternativou, neboť kanzelářské MS produkty již dávno cílí především na peněženky, aniž by reálně nabízely něco více než produkty z konce 90tých let (pokud jde o Excel, považuji za jedinou  přidaná hodnotu možnost více bnež 65tis řádků, to je vše)

Při práci často používám pár svých maker VBA, během let jsem ve VAB nich "programoval" i pár aplikací (rozhodně bych se jimi nechlubil, leč fungují). Samozřejmě při zkoušení Open Office/Libre office (dále LO/OO) mne zajímalo jak je tomu s makry v Calcu a musím říci, že pocit je rozporuplný.

1. Nenašel jsem nějaký komplexnější materiál o makrech v LibreOffice, na základě něhož by pouhý pokročilejší uživatel (za programátora se nepovažuji) s nimi mohl skutečně začít pracovat.
2. To, co jsem našel (a nějaké příklady které jsem si zkoušel) mne dovedlo k poznáníá, že na co stačí ve VBA pár řádků kódu (velmi srozumitelného), je v OO/LO třeba někdy až vícenásobně delšího kódu, jehož srozumitelnost je poněkud sporná.
3. Makra z VBA (ani velmi jednoduchá) v OO/LO nefungují korektně (Samozřejmě předpokládám jejich spuštění při řádném nastavení - tj. podpora maker VBA, nastav. Option VBASupport 1 ...)
4. Bohužel správně nefungují ani nativní primitivní makra přímo nahraná v OO/LO

Pro ilustraci uvádím příklad - Makro které používám již řadu let pro připravu mé-standartní podoby sešitu.
Funkce:
- vybere všechny buňky, nastaví písmo arial, velikost 8 s normální pozicí bez efektů,
- zarovná sloupce
- nastaví barvu pozadí na transparentní
- 1.řádek zabarví (používám pro nadpisy, tj.jeho zvýraznění)
- Nastaví horizontální příčku na 1.řádek (tj. aby nadpisy byly stále vidět)

Makro viz dole v tomto příspěvku.

Pokud sešit otevřu  v LO s nastavením na podporu VBA a uložím opět jako Excel.formát, makro se mi zachová s tím že se na začátek doplní "Option VBASupport 1". Proč ne. Po spuštění se místo nastavení horiz.příčky za 1.řádek nastaví příčka vertikální a to pár sloupců vpravo...

Pokud si obdobné makro zkusím vytvořit přímo v LO/OO nahráním, pak po spuštění se horizontáolní příčka nastaví pod 2l.řádek místo pod 1. a opět se nastaví pár sloupců vpravo příčka vertikální (o níž v makru nebyla řeč)


Je to jen takový hloupý příklad, leč demonstrující jasně, že bohužel v OO/LO dobře nefungují clelkem jednoduché věci. Ač nejsem přítelem MS, musím říci že podobné problémy jsem ve VBA zaznamenal jen zcela výjmečně, ve složitých případech)

Rád bych věděl zda existuje jednak nějaká rozumná cesta jak se do maker OO/LO ponořit, bez nutnosti vystudovat Matfyz či FEL, jednal šance, že budou makra v OO/LO skutečně na základní operace fungovat dobře. Formátování sešitu mezi ně rozhodně počítám !
Bohužel nějakou komplexnější konferenci na toto téma jsem nezahlédl, jinak bych jistě sám rád přispěl, či se alespoň poučil.

P.Janda


Makro VBA:
Sub FormatSesit()
    Cells.Select
    With Selection.Font
        .Name = "Arial"
        .Size = 8
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With

Zápatí

Používáme FluxBB