Wolno działające makro w nowej wersji (OO 4.0.1)

Użytkowanie arkusza kalkulacyjnego
MQs
Posty: 10
Rejestracja: ndz lip 19, 2009 9:58 pm

Wolno działające makro w nowej wersji (OO 4.0.1)

Post autor: MQs »

Mam takie proste makro pokazujące/ukrywające wybrane kolumny i puste wiersze:

Kod: Zaznacz cały

sub ukryj

Dim Arkusz as Object
Dim Zmiana as Boolean
Dim i as Integer
Dim j as Integer

ThisComponent.enableAutomaticCalculation(FALSE)

Zmiana = NOT ThisComponent.Sheets(0).Columns(4).isVisible

For i = 0 to 12
	Arkusz = ThisComponent.Sheets(i)

	For j = 4 to 39
		If (j < 11 OR (j > 20 AND j < 23) OR j > 30) Then Arkusz.Columns(j).isVisible = Zmiana
	Next j

	For j = 5 to 31
		If Arkusz.getCellByPosition(1,j).String = "0" Then Arkusz.Rows(j).isVisible = Zmiana
	Next j
Next i

ThisComponent.enableAutomaticCalculation(TRUE)
End sub
Po przejściu z wersji 3.2, na której wykonanie tego makra zajmowało ~1s, na wersję 4.0.1 muszę czekać ok. 20s. Bez wyłączenia autoprzeliczania (enableAutomaticCalculation) trwa to jeszcze dłużej, bo wygląda to tak jakby przeliczał arkusze na żywca po każdym kroku (a arkusz nie jest lekki). Myślałem, że załatwię tym problem, ale widocznie jest coś jeszcze.
ODPOWIEDZ