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

#1 11. 7. 2021 17:23:34

kubanecjam
Člen
Registrace: 11. 7. 2021
Příspěvků: 6

změna barvy ohraničení buňek - VYŘEŠENO

Zdravím a předem se omlouvám jestli je tu někde duplicictní otázka - hledání jsem zkoušel a ne e ne nic najít.

V calcu mám tabulku která má různé typy ohraničení buňek ( ruzné tlouštky čar, různé sloučení apod. ) . Všechny čáry mám v jedné barvě a potřeboval bych hromadně barvu ohraničení v celém listu změnit. Zatím jsem na to nepřišel - pouze jet úsek po úseku a označovat novou barvu postupně - což u rozsáhlého listu bude na týden.

Dnes jsem zabrousil na makra ale upřímě jim ještě zcela nerozumím.
Existuje nějaká finta, nebo jak napsat makro které hromadně prostě přemění barvu ohraničení v celém listu ?  Alespon prosím o nasměrování. Díky moc

Jakub

Editoval kubanecjam (15. 7. 2021 11:43:22)

Offline

#2 11. 7. 2021 18:02:54

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: změna barvy ohraničení buňek - VYŘEŠENO

Já té vaší otázce tak docela nerozumím. Označit si vše (např. přes Ctrl+A) a dát změnit, to změní u všeho, což ale asi nechcete.


Pokud byste potřeboval změnit různé úseky tak by bylo třeba si vytvořit adresy těch úseků (např. A1:A50; B1:C50; A51:D20 ...) a pak by na to šlo makro udělat.


Případně by šlo udělat makro které by si samo poznalo úseky obarvené různou barvou a změnilo ji třeba na jinou.


Ale rozhodně nejlepší by byla nějaká konkrétní ukázka od vás jak to je a jak se to má změnit, pak bych asi mohl makro zkusit dát dohromady :-).

Editoval kamlan (11. 7. 2021 18:04:11)

Offline

#3 11. 7. 2021 18:23:04

kubanecjam
Člen
Registrace: 11. 7. 2021
Příspěvků: 6

Re: změna barvy ohraničení buňek - VYŘEŠENO

http://wiki.openoffice.cz/w/uploads/Tabulka.png

Ohraničení zde není v každé buňce, ale po různu. A tabulka má něco kolem 600 řádků a potřebuji to změnit i na ostatních listech - potřebuji pouze změnit barvu veškerého ohraničení - což v nastavení  formátu buňky - ohraničení - je strašná práce. Nebo jsem jelito a nevím jak na to, ale co jsem už zjistil, po nastavení barvy ohraničení již ohraničené buňky se nic nezmění a musím znovu odkliknout na které straně buňky chci tuto změnu provést.
Proto myslím, že určitě existuje zpusob pomocí makra - něco jako - v tom a tom celém listu kde již je ohraničení, změň všude barvu tohoto ohraničení....

Předem díky za starost. Pokud se nevyjadřuji přesně, pokusím se to v případě nepochopení ještě nějak upřesnit.

Offline

#4 11. 7. 2021 19:17:30

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

Re: změna barvy ohraničení buňek - VYŘEŠENO

Problém je v tom, že používáte Aopache Open Office. Já mám verzi AOO418m3(Build:9803)  -  Rev. 18848f57b6
2020-10-29 16:56 která má ve formátech buňky letité nedostatky.


     Doporučil bych LibreOffice kde lze vybrat vše a pomocí formátu buňky - ohraničení přebarvit, nebo změnit sílu čáry. Program skutečně načte existující ohraničení a udělá změnu. Postupem může být také jednotlivě vybrat rámečky a držet Ctrl. Tak můžete vybrat a přebarvit různé čáry. Tedy je trošku umění udělat tabulku s různými tloušťkami čar, ale jde to. Apache Open Office umí přebarvit jen když zaškrtneme náhled mřížky - a to nechcete.


     Makro na to mám, ale běhá neskutečně pomalu a už jsem ho dlouho netestoval, ale umí najít existující rámečky a nastavit jim jiné parametry. Ráno se podívám. Přes to raději použijte Libre Office kterým Vaše sešity otevřete a upravíte bez většího problému.


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É

Offline

#5 11. 7. 2021 19:37:15

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 706

Re: změna barvy ohraničení buňek - VYŘEŠENO

Zkuste makro, doplňte si svůj název listu a případně rozsah

sub changeBorders
    
    dim doc, list, oblast as object
    dim cara as New com.sun.star.table.BorderLine
    dim Vpravo, Vlevo, Nahore, Dole, r, s as integer
    
    doc = ThisComponent

    list = doc.Sheets.GetByName("List4")'zde si doplňte svůj název listu
    
    cara.Color = RGB (230, 30, 30)' a zde si doplňte barvu
    
    for r = 0 to 1000 'počet řádků

       for s = 0 to 13 'počet sloupců
    
          oblast = list.GetCellByPosition( s , r )
    
          Vpravo = oblast.RightBorder.OuterLineWidth
          Vlevo = oblast.LeftBorder.OuterLineWidth
          Nahore = oblast.TopBorder.OuterLineWidth
          Dole = oblast.BottomBorder.OuterLineWidth

          if Vpravo <> 0 Then
	    cara.OuterLineWidth = Vpravo
    	    oblast.RightBorder = cara
          end if
    
          if Vlevo <> 0 Then
	    cara.OuterLineWidth = Vlevo
    	    oblast.LeftBorder = cara
          end if
    
          if Nahore <> 0 Then
	    cara.OuterLineWidth = Nahore
    	    oblast.TopBorder = cara
          end if
    
          if Dole <> 0 Then
	    cara.OuterLineWidth = Dole
    	    oblast.BottomBorder = cara
          end if
    
       next s

   next r
       
end sub

... vyzkoušejte nejdříve na kopii :-)

Editoval ludviktrnka (11. 7. 2021 20:09:44)


LibreOffice 5.4.

Offline

#6 11. 7. 2021 21:43:20

kubanecjam
Člen
Registrace: 11. 7. 2021
Příspěvků: 6

Re: změna barvy ohraničení buňek - VYŘEŠENO

Ludvíku díky mockrát, asi už jste to někdy dělal - jste bůh.

Makro fachá, těch 600 řádků to dá u mě za cca 20 sekund - ušetřil jste mi tak dva dni přebarvování dalších 5ti listů.

Dnes jsem zjistil, jakou sílu mají v officech makra. Po 15 letech používání Oo a vztekání se ze zdlouhavými postupy jsem si mohl ušetřit pár let života big_smile..

Ještě jednou díky všem a zejména Ludvíkovi

Offline

Zápatí