nasłuch komórki raz jeszcze...

Dyskusje dotyczące tworzenia makropoleceń, pisania skryptów oraz programowania przy użyciu UNO

nasłuch komórki raz jeszcze...

Postprzez babiniec4 » So sty 09, 2016 12:10 pm

witam.
w arkuszu kalkulacyjnym użyłem makra nasłuchu dla zakresu komórek:

sub Wlacz_nasluch()
oSheet=ThisComponent.Sheets.getByIndex(2)
zakres=oSheet.getCellRangeByName("B4:B1004")
oListener = createUnoListener("OOO_","com.sun.star.chart.XChartDataChangeEventListener")
zakres.addChartDataChangeEventListener(oListener)
end sub

sub OOO_chartDataChanged()
'procedura....
end sub

wszystko działa jak należy, jednak po zakończeniu działań na komórkach zakresu nie jestem w stanie wyłączyć nasłuchu.
użyłem poniższego makra jednak nasłuch w komórkach nadal działa...

sub Wylacz_nasluch()
oSheet=ThisComponent.Sheets.getByIndex(2)
zakres=oSheet.getCellRangeByName("B4:B1004")
oListener = createUnoListener("OOO_","com.sun.star.chart.XChartDataChangeEventListener")
zakres.removeChartDataChangeEventListener(oListener)
end sub

proszę o pomoc jak zakończyć nasłuch i móc korzystać z komórek zakresu bez efektu nasłuchu.

aoo 4.1.2 win xp/7/vista/8/10
OpenOffice3.2.1 na Windows XP
babiniec4
 
Posty: 48
Dołączył(a): Wt sie 03, 2010 10:20 pm

Re: nasłuch komórki raz jeszcze...

Postprzez belstar » So sty 09, 2016 5:32 pm

Kod: Zaznacz cały   Rozszerz widokZwiń widok
global oListener as object
global zakres as object

sub Wlacz_nasluch()
   if isNull(oListener)then
      oSheet = ThisComponent.Sheets.getByIndex(0)
      zakres = oSheet.getCellRangeByName("B4:B1004")
      oListener = createUnoListener("OOO_","com.sun.star.chart.XChartDataChangeEventListener")
      zakres.addChartDataChangeEventListener(oListener)
   end if
end sub

sub OOO_chartDataChanged(oEvent)
   print "yes ?"
end sub

sub StopListener
   if not isNull(oListener) then
      zakres.removeChartDataChangeEventListener(oListener)
      oListener = nothing
   end if
end sub

'*******************************************************
'w celu wyłączenia nasłuchu uruchom procedurę poniższą
sub OOO_Disposing(oEvent)
   Print "no ?"
   StopListener
end sub
'*******************************************************
LibreOffice 5.1.2.2 Ubuntu 16 LTS
belstar
 
Posty: 635
Dołączył(a): Cz mar 17, 2011 9:08 am

Re: nasłuch komórki raz jeszcze...

Postprzez babiniec4 » So sty 23, 2016 4:15 pm

[Solved] dziękuję bardzo belstar, działa jak należy :-)
OpenOffice3.2.1 na Windows XP
babiniec4
 
Posty: 48
Dołączył(a): Wt sie 03, 2010 10:20 pm


Powrót do Makra i programowanie

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość