Podświetlanie całego wiersza w kolorze

Użytkowanie arkusza kalkulacyjnego
ADAMOJO
Posty: 2
Rejestracja: pn wrz 27, 2021 2:18 pm

Podświetlanie całego wiersza w kolorze

Post autor: ADAMOJO »

Witam, chciałem zapytać czy jest możliwość ustawienia aby podświetlał się cały wiersz z zaznaczonej komórki ?

Znalazłem na stronie poświęconej Excel'u że jest taka możliwość, sprawdzałem działa. Chciałbym to samo przerzucić do LibreOffice
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'UpdatebyExtendoffice6/1/2016
Application.ScreenUpdating = False
With Target
.Worksheet.Cells.Interior.ColorIndex = 0
.EntireRow.Interior.Color = vbYellow
.EntireColumn.Interior.Color = vbYellow
End With
Application.ScreenUpdating = True
End Sub
Link do strony: https://pl.extendoffice.com/documents/e ... light.html
Załączniki
libre.png
libre.png (7.37 KiB) Przejrzano 3491 razy
Libre Office 7.0.3.1
Windows 10
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Podświetlanie całego wiersza w kolorze

Post autor: Jan_J »

Przedstawiona metoda nie podświetla elementów, tylko zmienia tło komórek.
To są różne efekty. Podświetlanie dotyczy stanu programu zajmującego się prezentacją;
zmiana tła dotyczy stanu skoroszytu, czyli danych, i może być w nim utrwalona.

Na dodatek, autorzy zacytowanego kodu VisualBasic zakładają, że w skoroszycie nie używa się kolorów tła. Bo dotychczasowe kolory są niszczone.

Bibilioteka UNO pozwala i na jedno (zbudowanie zaznaczenia), i na drugie (zmiana koloru tła). Trzeba zarejestrować obiekt prowadzący śledzenie zmian statusu (tzw. Listener) i wywołujący oznaczanie tym czy innym sposobem.

Warstwy aplikacji są w UNO API wyraźniej rozdzielone niż w VB. Wobec tego napisanie takiej funkcji i zrozumienie jej działania wymaga głębszej (w porównaniu do VB i Excela) znajomości architektury aplikacji.

Od ręki nie napiszę; mogę spróbować wieczorem.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Awatar użytkownika
Jermor
Posty: 2254
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Podświetlanie całego wiersza w kolorze

Post autor: Jermor »

Niedawno w dziale "Projekty użytkowników" (oraz z rozpędu w "Makra i programowanie") zamieściłem makro i opis podobnego działania. Tam chodziło o podświetlenie pojedynczej komórki w relacji do właśnie wybranej.
Makro zmodyfikowałem i załączam je w pliku. Podobnie jak w tym opisanym powyżej, można samodzielnie wybrać kolor, oraz zdecydować, czy podświetlane mają być tylko wiersze, tylko kolumny albo i to i to.
Załączniki
Handler3.ods
(10.52 KiB) Pobrany 150 razy
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Podświetlanie całego wiersza w kolorze

Post autor: Jan_J »

Nie przeczę, że takie „krzyżowe” wyróżnienie może być sensowne i pomocne.

Ale przed decyzją jego realizacji warto zastanowić się, czy oczekiwań nie spełni ustawienie widoku przewidziane przez twórców Calca.
w Libre: Widok → [x] Przytwiedź wiersze i kolumny
w Apache OO: Edycja → (nie pamiętam jak, ale da się)
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Podświetlanie całego wiersza w kolorze

Post autor: Jan_J »

Przy sterowaniu klawiaturą w skoroszycie Handler3 zmiana zwrotu ruchu powoduje jednokrotne zignorowanie klawisza sterującego zmianą fokusu. Np sekwencje →←→←→←→← albo →↑→↑→↑ nie przesuwają położenia aktywnej komórki o 1 w odpowiednie strony; natomiast →↓→↓→↓ przesuwa zygzakiem w prawo w dół, analogiczne jak ←↑←↑←↑.
Prawdopodobnie problem jest banalny i wiąże się z obsługą zmiany fokusu przycisków włącz/wyłącz.

Operacje wklejania i przeciągania bloków pozostawiają artefakty w postaci nie znikających zamalowań tła. To mnie nie dziwi, jako że plik przedstawia tylko szkic pomysłu. Widać stąd, że zmiana tła w skoroszycie nie jest najlepszym sposobem „zaznaczania” w interfejsie użytkownika.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Awatar użytkownika
Jermor
Posty: 2254
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Podświetlanie całego wiersza w kolorze

Post autor: Jermor »

Nie wiem jak to skomentować. Mam tylko Windows do dyspozycji i w nim wszystko działa poprawnie w obu wersjach Calc.
W Apache OO przytwierdź, jest w poleceniu Okno -> Przytwierdź
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
cwolan
Posty: 54
Rejestracja: pn sty 25, 2021 11:17 pm

Re: Podświetlanie całego wiersza w kolorze

Post autor: cwolan »

Dla informacji:

Bug 33201 - UI: Highlight (not select) current row and column in spreadsheet
https://bugs.documentfoundation.org/sho ... i?id=33201

Błąd ("request - high enhancement") zgłoszony w 2011 roku z ostatnimi wpisami z tego roku.

Poza tym:
https://superuser.com/questions/1278627 ... ibreoffice
https://ask.libreoffice.org/t/how-can-c ... ll/29017/6

https://forum.openoffice.org/en/forum/v ... 31#p200555
OpenOffice 1.1.5 – 4.1.15
LibreOffice 3.3.0.4 – 7.6.6
Windows 7,10,11 64-bit
ADAMOJO
Posty: 2
Rejestracja: pn wrz 27, 2021 2:18 pm

Re: Podświetlanie całego wiersza w kolorze

Post autor: ADAMOJO »

Dziękuje bardzo za odpowiedzi. niestety podświetlanie jak już jest to niweluje wcześniejsze formatowanie. w którymś z podanym linku wyłapałem skrót klawiszowy Shift + spacja który zaznacza wiersz(na tą chwilę to mi wystarczy, choć lepiej byłoby gdyby takie zaznaczenie zmieniało się razem z zmianą komórki, ale i tak jest to duże ułatwienie dla mnie).
Pozdrawiam.
Libre Office 7.0.3.1
Windows 10
Awatar użytkownika
Jermor
Posty: 2254
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Podświetlanie całego wiersza w kolorze

Post autor: Jermor »

Z tym skrótem jest taki problem, że on tak naprawdę powoduje selekcję całego wiersza. Nieopatrzne naciśnięcie klawisza DEL skasuje całą zawartość tak zaznaczonego obszaru. Można to oczywiście naprawić poprzez CTRL+Z.
Największą niedogodnością podświetlania przy pomocy makra jest to, że "wycofanie" podświetlania usuwa oprócz indywidualnie nadpisanego formatowania komórki, formatowanie warunkowe. Nie są usuwane natomiast formatowania przypisane przez styl komórki. Jeśli więc w wierszu wybrane elementy mają nadany własny styl komórki, to wycofanie podświetlenia przywraca im ten styl.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Podświetlanie całego wiersza w kolorze

Post autor: Jan_J »

jeszcze jedno +1 dla stosowania stylów...
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
ODPOWIEDZ