uruchamianie makra przez zmiane wartosci komorki

Dyskusje dotyczące tworzenia makropoleceń, pisania skryptów oraz programowania przy użyciu UNO
dadu
Posty: 10
Rejestracja: wt sty 24, 2012 3:36 pm

uruchamianie makra przez zmiane wartosci komorki

Post autor: dadu »

dzien dobry,

sprawa dotyczy Apache OpenOffice

posiadam plik z dwoma arkuszami i makro ..
pierwszy arkusz to wstawiona strona html z odswiezaniem co 600 sec ...
na tej stronie dopisywane sa kolejne wiersze .. wiec, gdy plik odswiezy strone .. dojda kolejne wiersze..

w drugim arkuszu mam przygotowana formatke, ktora zrzuca sie do pdf kazdy wiersz z osobna w zaleznosci od tego ile tych wierszy ma byc /to liczy formula/

posiadam makro, ktore zrzuca okreslona ilosc wierszy tego drugiego arkusza do plikow .. i wsio dziala po nacisnieciu przycisku wyzwalacza /drukuj/

czy mozliwe jest uruchomienie makra po zmianie wartosci komorki na inna od poprzedniej, gdy dane do niej poda formula, a nie wpis z reki ?

przyklad .. gdy w arkuszu Arkusz1 pojawi sie 100 wierszy o wartosci 1, w Arkusz2 w komorce A1 bedzie wpis 100 wykonany przez formule np. =suma Arkusz1.A1:A5000
po aktualizacji arkusza za 600 sec w Arkuszu1 pojawi sie 112 wierszy o wartosci 1, czyli zmieni sie wartosc w Arkuszu2 w komorce A1 na 112,

chcialbym, zeby taka zmiana wartosci byla wyzwalaczem do uruchmienia makra ..
czy to mozliwe ?
jesli tak, czy moglbym prosic o przyklad ?

pozdrawiam serdecznie
Apache OpenOffice 4.1.6 na Ubuntu 22.04
Awatar użytkownika
Jermor
Posty: 2259
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: uruchamianie makra przez zmiane wartosci komorki

Post autor: Jermor »

Do wyzwalania makra poprzez zmianę zawartości komórki służy Listener.
Podpowiedź jak to wykorzystać znajdziesz tutaj viewtopic.php?p=6598#p6598
Jeżeli w twoim Arkusz2 jest tylko jedna formuła, właśnie ta w komórce A1, to możesz nie korzystać z LIstenera, tylko przypisać do Arkusza2 zdarzenie.
Klikasz prawym przyciskiem myszki na nazwie arkusza, wybierasz "Zdarzenia arkusza" w oknie dialogowym wybierasz "Formuły zostały obliczone" i przypisujesz makro.
To makro zostanie wywołane jeśli w Arkusz2 zostanie obliczona jakakolwiek formuła, dlatego skorzystanie z tego sposobu ma sens tylko wtedy, gdy formuła w A1 jest jedyną formułą w tym arkuszu. Ale zawsze można utworzyć ukryty arkusz z tą jedną formułą.
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.
dadu
Posty: 10
Rejestracja: wt sty 24, 2012 3:36 pm

Re: uruchamianie makra przez zmiane wartosci komorki

Post autor: dadu »

mala delegacja mnie zlapala .. w weekend dodam arkusz .. komorke z odniesieniem do zmieniajacej sie w arkuszu obecnym ... przypisze makro jak napisales i sprawdze .. wstepnie bardzo dziekuje .. jesli zadziala dopisze [SOLVED] :)
Apache OpenOffice 4.1.6 na Ubuntu 22.04
dadu
Posty: 10
Rejestracja: wt sty 24, 2012 3:36 pm

Re: uruchamianie makra przez zmiane wartosci komorki

Post autor: dadu »

dobry wieczor .. wrocilem .. przetestowalem ..

sytuacja startowa : AOO 4.1.6 ... Ubuntu 22.04 ..
makro dziala na przycisku .. robi pdf'y gdy klikne przycisk z danych wpisanych we wskazane wiersze
wiersze wskazuje wpisujac :
w kratke "zacznij od" np. 1333
a koncowy w kratke "skoncz na" np 1340

tu makro bezblednie wykona 7 plikow pdf ..

mam wstawione w pierwszy arkusz dane zaciagana z pliku html co 10 min ..
dzieki temu co 10 min wiem, czy musze dodrukowac pdf'y

zmodyfikowalem sobie kratke "skoncz na" i zrobilem tam rozpoznanie ostatniego wiersza wypelnionego z html .. dzieki czemu automatycznie otrzymuje wpis po np. kolejnych 10 minutach: 1347 ...
wpisow nie ma wiecej niz 5 co 10 min .. wiec komorke "zacznij od" zmodyfikowalem robiac zwykle : ="skoncz na"-10 'na wszelki wypadek 10

przed chwila zrobilem kroki, ktore wskazal Jermor ...
dodalem arkusz kolejny .. nazwalem go "wyzwalacz" .. w A1 zrobilem zwykle =komorka_skoncz_na

arkusz pobiera dane co 10 min .. wtedy przelicza komorke "skoncz na", a co za tym idzie A1 w arkuszu "wyzwalacz" i rzeczywiscie chce uruchomic makro .. juz nawet ustawia sie na wlasciwym wierszu by zaczac drukowac do pdf .. ale stoi na nim przez 10 sec mniej wiecej po czym wywala caly plik i zamyka openoffice .. przy kolejnym uruchomieniu proponuje odzyskanie pliku ...

:(

czy znacie sposob na taki crash ?

pozdrawiam serdecznie,
Apache OpenOffice 4.1.6 na Ubuntu 22.04
Awatar użytkownika
Jermor
Posty: 2259
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: uruchamianie makra przez zmiane wartosci komorki

Post autor: Jermor »

Sądzę, że problem tkwi w samym makro.
Możesz prześledzić, w jakim momencie procedura się sypie.
Otwórz edytor makr i w twoim makro ustaw punkt przerwania na samym początku.
Następnie w arkuszu zmień wartość, która ma wyzwolić makro. Makro zatrzyma się na punkcie przerwania. Poleceniem "Wkrocz" (F8) w edytorze makr będziesz wykonywał po jednej instrukcji, i dotrzesz do miejsca, które powoduje boooom.
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.
ODPOWIEDZ