Strona 1 z 1

wstawianie makra

: pn mar 06, 2017 10:02 pm
autor: tatadek
Witajcie!
Interesuje mnie czy jest możliwe wstawienie makra do makra - tzn. utworzyłem makro do obliczeń, których muszę wykonywać dziesiątki i chciałbym to zautymatyzować poprzez kolejne makro. Czy tak się da?

Re: wstawianie makra

: wt mar 07, 2017 10:16 pm
autor: Jan_J
Nazwa "makropolecenie" formalnie oznacza tekst kodu wysokiego poziomu, którego użycie przed rozpoczęciem przetwarzania jest fizycznie zastępowane jego treścią.
Są całe języki albo ich podstystemy, które tak funkcjonują. Na przykład preprocesor języka C. W pakietach użytkowych bywało, i nadal bywa, że makropolecenie zawiera sekwencję czynności użytkownika (Plik/Nowy/Wpisz imie=<parametr><Enter>nawisko=<parametr><Enter>/Plik/Zapisz/Plik/Drukuj).
W programowaniu Calca, Excela zresztą również, nazwa "makro" jest już tylko tradycją. Procedury i funkcje pisze się w regularnych językach, i wywołuje się je, najczęściej w trybie interpretacji, w ramach sesji aplikacji. Oczywiście te podprogramy mogą odwoływać się do innych podprogramów, byle by były wzajemnie widoczne.

Prosty przykład w Basicu

Kod: Zaznacz cały

sub takie_tam()
komorka = thisComponent.currentController.getActiveSheet().getCellByPosition(0,0)
wstaw(komorka, 1.0)
dodaj(komorka, 2.34)
end sub

sub wstaw(cell, value)
  cell.setValue(value)
end sub

sub dodaj(cell, value)
  cell.setValue(cell.getValue() + value)
end sub
W innych językach wyposażonych w obsługę Calca (np. Python, JavaScript) jest podobnie.