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

#1 Re: Calc » Makro na Seskupit... (F12) » 17. 5. 2025 20:20:58

Takto by to MAKRO mělo vypadat, když by to potřeboval i někdo jiný.
Mnohokráte děkuji autorovi!

MAKRO napsal(a)

Sub Seskupit_VV_KROS_aktivni_list 'seskupí řádky aktivního listu dle hodnoty ve sloupci D
    const sRetezec="VV" 'řetězec podle kterého se má seskupovat
    const iSloupec=3 'číslo prohledávaného sloupce (A=0, B=1, C=2, D=3 ...)
    const sZpet="Seskupit makrem" 'hláška pro krok Zpět
   
    dim oDoc as object, oSheet as object, oColumn as object, oCur as object, i&, j&, oRanges as object, oRange as object, data(), b as boolean, o as object, oCells as object, _
        undoMgr as object, bSeskupeno as boolean
    oDoc=ThisComponent
    undoMgr=oDoc.undoManager 'manažer kroků Zpět
    oSheet=oDoc.CurrentController.ActiveSheet 'aktuální list
    oCur=oSheet.createCursor 'listový kurzor
    oCur.gotoStartOfUsedArea(false) 'kurzor na začátek použité oblasti listu
    i=oCur.RangeAddress.StartRow 'první použitý řáděk
    oCur.gotoEndOfUsedArea(false) 'kurzor na konec použité oblasti listu
    j=oCur.RangeAddress.EndRow 'poslední použitý řádek listu
    oColumn=oSheet.getCellRangeByPosition(iSloupec, i, iSloupec, j) 'použitý sloupec D
    oRanges=oColumn.CellFormatRanges 'rozsahy buněk s různým formátem ve sloupci D
    for each oRange in oRanges 'procházet jednotlivé rozsahy
        data=oRange.getDataArray() 'obsah buněk v rozsahu
        b=true
        for each o in data 'obsah bunky v rozsahu
            if o(0)<>sRetezec then 'v buňce není seskupovaný řetězec
                b=false
                exit for
            end if
        next
        if b then 'v rozsahu buněk jsou jen požadované řetězce
            if NOT bSeskupeno then 'ještě nebylo nic seskupeno tak zapnout manažer Zpět
                undoMgr.enterUndoContext(sZpet) 'hláška pro Zpět
                bSeskupeno=true
            end if
            oSheet.ungroup(oRange.RangeAddress, 1) 'zrušit seskupení když tam je (aby nebylo podruhé)
            oSheet.group(oRange.RangeAddress, 1) '1 = seskupit řádky rozsahu
        end if
    next
    if bSeskupeno then undoMgr.leaveUndoContext 'bylo něco seskupeno tak ukončit manažer Zpět
End Sub

#2 Re: Calc » Makro na Seskupit... (F12) » 17. 5. 2025 20:18:49

To výše bohužel nedělá co potřebuji, je to jen MAKRO na to co dělá klávesa F12, ale buňky pro sloučení se stále musí vybírat ručně. Já potřebuji, aby to makro samo našlo na stránce řádky s textem "VV" ve sloupci D a ty co spolu sousedí sloučilo.
Už jsem ale našel odpověď jinde, tedy vyřešeno.
Děkuji za pomoc

#3 Re: Calc » Makro na Seskupit F12 » 14. 5. 2025 13:15:17

Toto vlákno je možné smazat, omylem zadáno opakovaně, včera forum nějak zlobilo (já smazat nemohu). Děkuji

#4 Re: Calc » Makro na Seskupit... (F12) » 14. 5. 2025 13:13:58

Poslal jsem tabulku e-mailem, děkuji moc!

#5 Re: Calc » Makro na Seskupit... (F12) » 13. 5. 2025 21:31:09

Toto vlákno ponechat, tento dotaz platí. Děkuji

#6 Re: Calc » Makro na Seskupit... (F12) » 13. 5. 2025 21:19:16

Omlouvám se, web mi házel nějakou chybu a zdálo se, že příspěvek nevložil, tedy jsem ho vložil omylem několikrát. Můžete-li někdo, prosím, smažte ty navíc.
Děkuji, Petr


Původní dotazy: napsal(a)

Našel by se, prosím, někdo, kdo by byl ochoten mi i za peníze vytvořit pro LibreOffice Calc makro (nebo nějak jinak), které by umělo na aktivním listu provést funkci Seskupit (F12) pro určité skupiny řádků?

Sem nejdou vkládat přílohy, abych sem dal tu tabulku, tedy se to pokusím popsat.

Mám tabulku, kde jsou různě seskupení řádků, které mají ve sloupci (D) text "VV". Tyto bloky řádků potřebuji na celém listu Seskupit. Tedy příklad tabulky:
řádek 9 = prázdný
řádek 10 = různě text a čísla různé sloupce (ve sloupci (D) je text, ale jiný jak na řádku 11)
řádek 11 = sloupec (D) text "VV"
řádek 12 = sloupec (D) text "VV"
řádek 13 = sloupec (D) text "VV"
řádek 14 = různě text a čísla různé sloupce
řádek 15 = různě text a čísla různé sloupce
řádek 16 = sloupec (D) text "VV"
řádek 17 = sloupec (D) text "VV"
řádek 18 = různě text a čísla různé sloupce
řádek 19 = sloupec (D) text "VV"
řádek 20 = různě text a čísla různé sloupce

Potřebuji makrem docílit, aby Seskupilo řádky 11-13 a 16-17 a 19.

Makra umím jen naprosté základy a toto je už nad moje síly.

Děkuji za pomoc, Petr

#7 Calc » Makro na Seskupit F12 » 13. 5. 2025 21:16:24

Petr82
Odpovědí: 1

Našel by se, prosím, někdo, kdo by byl ochoten mi i za peníze vytvořit pro LibreOffice Calc makro (nebo nějak jinak), které by umělo na aktivním listu provést funkci Seskupit (F12) pro určité skupiny řádků?

Sem nejdou vkládat přílohy, abych sem dal tu tabulku, tedy se to pokusím popsat.

Mám tabulku, kde jsou různě seskupení řádků, které mají ve sloupci (D) text "VV". Tyto bloky řádků potřebuji na celém listu Seskupit. Tedy příklad tabulky:
řádek 9 = prázdný
řádek 10 = různě text a čísla různé sloupce (ve sloupci (D) je text, ale jiný jak na řádku 11)
řádek 11 = sloupec (D) text "VV"
řádek 12 = sloupec (D) text "VV"
řádek 13 = sloupec (D) text "VV"
řádek 14 = různě text a čísla různé sloupce
řádek 15 = různě text a čísla různé sloupce
řádek 16 = sloupec (D) text "VV"
řádek 17 = sloupec (D) text "VV"
řádek 18 = různě text a čísla různé sloupce
řádek 19 = sloupec (D) text "VV"
řádek 20 = různě text a čísla různé sloupce

Potřebuji makrem docílit, aby Seskupilo řádky 11-13 a 16-17 a 19.

Makra umím jen naprosté základy a toto je už nad moje síly.

Děkuji za pomoc, Petr

#8 Re: Calc » soubor pro hromadné bankovní příkazy - VYŘEŠENO » 5. 1. 2022 18:05:52

ludviktrnka napsal(a)

Systém ABO není použitelný pro zahraniční platby, tam je pak potřeba použít dávku XML. Pro FIO banku mám generátor XML příkazu (tuzemský, Euro, zahraniční) z LO k dispozici. Zašlu po domluvě.

Měl bych o to, prosím, zájem, bylo by možné poslat? Pokud to bude funkční, odměna jistá, usnadní mi to práci!

Generátor ABO přes soubor .odt funguje dobře, ale není možné zadal pole popisu a poznámky platby = pro mě nepoužitelné. XML by to mělo umět.

Děkuji moc, Petr

#9 Re: Instalace » Chyba při instalaci českých slovníků » 5. 1. 2022 17:44:52

Smazání profilu problém vyřešilo, tak jako řadu neduhů LibreOffice. Jen to pak člověk musí celé znovu konfigurovat.
Děkuji dodatečně za radu

#10 Re: Instalace » Chyba při instalaci českých slovníků » 15. 1. 2021 12:26:08

Je to starší téma, ale řeším aktuálně ten samý problém a před tím to vyřešeno nebylo.
Se stejnou chybou mi nejde naistalovat jakékoliv rozšíření do LibreOffice vč. slovníků.

Windows 10 CZ 64-bit, uživatel má admin práva, řízení účtů staženo na nejnižší úroveň ochrany, LibreOffice 7.0.4.2 CZ.
Instalace LO proběhne bez problémů a LO normálně fungují.
Chová se to stejně na jakékoliv stažené rozšíření a není podstatné, kde je soubor .OXT uložen.
Jsem z toho už zoufalý a neví co s tím. LO jsem i přeinstaloval a nic. Na jiných PC s podobnou konfigurací to funguje jak má, jen tento jeden tohle dělá.

Uměl by někdo, prosím, poradit?

Zápatí

Používáme FluxBB