Ukrywanie wybranego zakresu komórek (nie za pomocą pętli)

Dyskusje dotyczące tworzenia makropoleceń, pisania skryptów oraz programowania przy użyciu UNO
PIR30
Posty: 17
Rejestracja: pt paź 10, 2014 10:03 am

Ukrywanie wybranego zakresu komórek (nie za pomocą pętli)

Post autor: PIR30 »

Witam
Chciałbym prosić o pomoc w sprawie wydawało by się dość prostej, przeszukałem forum i niestety nie znalazłem rozwiązania mojego problemu.
Muszę napisać makro które będzie ukrywało dość spore zakresy wierszy ( po około 200 ) w różnych miejscach arkusza.
Do tego celu próbowałem użyć pętli For niestety podczas wykonywania takiego makra gdzie pętla przekazuje numer ukrywanego wiersza pojawia się dość długa zwłoka czasowa której chciałbym się pozbyć, Stąd moje pytanie w jaki sposób ukryć wybrany zakres bez konieczności tworzenia pętli.
Ostatnio zmieniony czw gru 11, 2014 1:01 pm przez PIR30, łącznie zmieniany 1 raz.
OpenOffice 3.6 na Windows Vista
Jan_J
Posty: 4621
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Ukrywanie wybranego zakresu komórek (nie za pomocą pętli

Post autor: Jan_J »

Wiersze i kolumny mają przełączniki widoczności, zakresy nie mają. Patrz https://forum.openoffice.org/pl/forum/v ... f=27&t=409.
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
PIR30
Posty: 17
Rejestracja: pt paź 10, 2014 10:03 am

Re: Ukrywanie wybranego zakresu komórek (nie za pomocą pętli

Post autor: PIR30 »

Wiec nie ma sposobu aby ukryć wskazany zakres wierszy za jednym zamachem :(
Wygląda na to że jestem skazany na mało estetyczne mruganie arkusza podczas wykonywania pętli ukrywającej wiersz po wierszu.
Cóż dzięki za pomoc.
OpenOffice 3.6 na Windows Vista
Jan_J
Posty: 4621
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Ukrywanie wybranego zakresu komórek (nie za pomocą pętli

Post autor: Jan_J »

https://www.openoffice.org/api/docs/com ... Range.html
https://www.openoffice.org/api/docs/com ... Range.html

Nie jest aż tak źle. Zakresy mają dostęp do własnych kolekcji wierszy i kolumn, a te mają przełączniki widoczności. Porównaj:

Kod: Zaznacz cały

s = thisComponent.Sheets.getByIndex(0)
for i = 1 to 32
  r = s.Rows.getByIndex(i)
  r.IsVisible = false
next i

Kod: Zaznacz cały

s = thisComponent.Sheets.getByIndex(0)
rr = s.getCellRangeByName("B2:F33")
rr.Rows.IsVisible = false
// Teraz wszystko na świecie musi być animowane. Jeżeli jeszcze nie jest, to wkrótce będzie. Może więc warto się wpisać w ten zbawczy trend i ukrywać wiersze powoli?
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
PIR30
Posty: 17
Rejestracja: pt paź 10, 2014 10:03 am

[Solved]Ukrywanie wybranego zakresu komórek (nie za pomocą p

Post autor: PIR30 »

No to jest to o co mi chodziło wielkie dzięki za pomoc :)
OpenOffice 3.6 na Windows Vista
ODPOWIEDZ