[Megoldva] Feltételes formázás - lekérdezése

Táblázatkezelő
zabpeter
Hozzászólások: 5
Csatlakozott: 2022. április 2., szombat 10:22

[Megoldva] Feltételes formázás - lekérdezése

Hozzászólás Szerző: zabpeter »

Sziasztok!

Segítséget szeretnék kérni.
Adott egy táblázat. Különféle feltételes formázások vannak beállítva.
Egy cellában szeretném lekérdezni, hogy egy adott cella aktuálisan melyik stílust kapta meg a feltételes formázás által.

Pl.: ha A1 cella értéke 3 - feltételes formázás: stílus neve: Piros (piros színt kap)
ha A1 cella értéke 5 - feltételes formázás: stílus neve: Kék (kék színt kap)
A2 cella = A1 cella stílusának neve (vagy piros vagy kék)

Akár függvény, akár makró is segítségemre lehet, köszönöm!
LibreOffice 6.4.7.2
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Feltételes formázás - lekérdezése

Hozzászólás Szerző: Zizi64 »

Nincs mód rá.
Csak az elsődlegesen alkalmazott Cella-Stílus (nevének és objektumának) lekérdezésére, és a kézzel (közvetlenül) alkalmazott tulajdonságok lekérdezésére van mód. Nem tudok arról sem, hogy a legújabb 7.4.0 verzióban ilyesmit megvalósítottak volna.

És SOHA ne használj formázási tulajdonságot valamiféle ADAT-ként. Csinálj helyette segédcellákat, amiben az adott (a vizsgálandó) cella állapotát szöveges, vagy számérték jelzi - akár ugyanazon (de cellaképlettel megvalósított) feltételrendszer mellett!
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Feltételes formázás - lekérdezése

Hozzászólás Szerző: Zizi64 »

...elvileg a feltételes formázás képleteit le lehet kérdezni, de azt valahogy újra fel is kéne dolgoznod a makróddal a cella aktuális tartalmát alapul véve, mert azt sehol nem jelzi a program (az API-n keresztül), hogy mi lett a "látható, vizuális eredménye" a feltételrendszernek..
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Feltételes formázás - lekérdezése

Hozzászólás Szerző: Zizi64 »

Ötlet:

Használhatod a STYLE() függvényt a feltételes formázáshoz a beépített funkció helyett.
Ez esetben a mintafájlban megvalósítottak szerint több lehetőséged is van az alkalmazandó/alkalmazott stílus nevének megszerzésére.

Utólag makróval lehet kiolvasni (II. megoldás):

Kód: Egész kijelölése

Function MyGetCellStyleName1(MySheet as long, MyCol as long, MyRow as long , MyDummy as Variant) as string
 Dim oDoc as object
 Dim oSheets as object
 Dim oSheet as object
 Dim oCell as object
 Dim sStyleName as string
 
	oDoc = Thiscomponent
	oSheets = oDoc.Sheets
	oSheet = oSheets.getbyindex(MySheet-1)
	oCell = oSheet.getCellByPosition(MyCol-1, MyRow-1)
	sStyleName = oCell.CellStyle
	
MyGetCellStyleName1 = sStyleName 
end function
A MyDummy paraméter azért kell, hogy a cellaérték változásakor a makrófüggvény is frissüljön. ("Simán" átadva csupán a cellaértéket az nem viszi magával a értéket tartalmazó cella adatait (pozícióját): ezért kell a munkalap, sor, oszlop adatokat is átadni.

De tulajdonképpen már az alkalmazása előtt tudható a feltételes stílus neve (I. megoldás)
GetCellStyle.ods
(11.85 KiB) Letöltve 76 alkalommal.

De továbbra is fenntartom, hogy NAGY HIBA egy táblázatkezelőben a formázási tulajdonságokat megpróbálni adatokként kezelni.
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
zabpeter
Hozzászólások: 5
Csatlakozott: 2022. április 2., szombat 10:22

Re: Feltételes formázás - lekérdezése

Hozzászólás Szerző: zabpeter »

Ez a megoldás egyszerűen zseniális, nagyon szépen köszönöm!
LibreOffice 6.4.7.2
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: [Megoldva] Feltételes formázás - lekérdezése

Hozzászólás Szerző: Zizi64 »

Nyilván bonyolultabb esetben a Stílus alkalmazása is IF() függvények sorával történhet meg... (pl, ha nem csak egész számokat akarsz formázni, hanem különböző értéktartományokon belüli/kívüli állapotokat).
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Válasz küldése