Wyskakujący kalendarz działający w MS Excel oraz w Calc

Użytkowanie arkusza kalkulacyjnego
therminus
Posty: 21
Rejestracja: pn sie 12, 2013 7:25 pm

Wyskakujący kalendarz działający w MS Excel oraz w Calc

Post autor: therminus »

Cz ktoś ma takie makro w VBA, działające w pliku XLS, którego skutkiem jest wyskakujący kalendarz?
Chodzi o to, aby ten plik xls działał także w Calcu i poprawnie wyświetlał kalendarz.
Wybranie w kalendarzu daty przepisuje datę do komórki i kalendarz znika.
Mam co prawda mam taki kalendarz w pliku xls, ale makro jest dość skomplikowane i Calc nie umie go zinterpretować. Informuje, że makro zawiera "błąd składni jęzka BASIC".
LibreOffice 6.3 na Windows 10
Jan_J
Posty: 4653
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Wyskakujący kalendarz działający w MS Excel oraz w Calc

Post autor: Jan_J »

Było tu: https://forum.openoffice.org/pl/forum/v ... 6164#p6173, ale po drodze (LO 4.x) zmieniło się API, patrz https://forum.openoffice.org/pl/forum/v ... 18&p=10829,
więc skrypt z dodatku przestał działać w LO i wymaga korekty. W Apache OO działa nadal poprawnie.
Co do mnie, nie roszczę sobie wyłączności zarządzania tym dodatkiem, więc jeśli ktoś go sensownie poprawi, bardzo proszę. Lepiej tylko, żeby efekt było widać w obu systemach, i żeby zrobić to elegancko, a nie przez jakieś doraźne if/else. Nie bardzo mam na to teraz czas.
JJ
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
therminus
Posty: 21
Rejestracja: pn sie 12, 2013 7:25 pm

Re: Wyskakujący kalendarz działający w MS Excel oraz w Calc

Post autor: therminus »

Witam,
Raczej nie o to mi chodziło. Makro z kalendarzem ma mieć zdefiniowane komórki, po klikniciu których, kalendarz ma "wyskoczyć".
To ma działać na MS Excel i LibreOffice. Zatem makro będzie zawarte w pliku .XLS.
Dla tych co mają dostęp do excela załączam plik z działającym kalendarzem.
Do czego mi to potrzebne?
Otóż na komórkach z datami są przeprowadzane działania (dodawanie dni i w efekcie uzyskanie nowej daty w innej komórce).
Jeżeli użytkownik wpisuje datę "po swojemu" a nie w konkretnym formacie, formuły nie działają. Mając taki kalendarz, mam pewność, że data zostanie wpisana prawidłowo.
Załączniki
calendar.xls.zip
(23.6 KiB) Pobrany 1704 razy
LibreOffice 6.3 na Windows 10
Jan_J
Posty: 4653
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Wyskakujący kalendarz działający w MS Excel oraz w Calc

Post autor: Jan_J »

Makro z kalendarzem ma mieć zdefiniowane komórki, po klikniciu których, kalendarz ma "wyskoczyć"
To akurat nie jest problem. Zamiast podłączać wyzwolenie dialogu do wpisu menu (jak w dodatku), trzeba by je podłączyć jako reakcję na klik, ew. podwójny klik w danej kolumnie.
Nie znam się na zgodności (Open|Libre)Office z Excelowym VBA. Używam natywnego API. Tak więc o możliwości użycia tego samego kodu w Excelu i Calcu, na dodatek w pliku xls, musiałby się wypowiedzieć praktyk, który ma w tej sprawie doświadczenie. Osobiście wątpię w powodzenie.
Nie jestem też pewien, czy Calc będzie w stanie zainicjować obsługę zdarzeń zdefiniowaną za pomocą makr, nawet we własnym dialekcie, ale w pliku xls.
Powinno być natomiast możliwie wstawienie dwóch modułów programistycznych, jednego dla Excela, drugiego dla Calca. Excelowski używałby predefiniowanych nazw funkcji obsługujących zdarzenia (więc Calc by je ignorował), Calcowy instalowałby listenera z odpowiednią obsługą (czego z kolei nie rozumiałby Excel). Dwa razy więcej roboty, testowania itp. I pytanie, czy jakaś szczególna konfiguracja, czy to Calca, czy Excela, nie spowoduje, że przy zapisie arkusza licho weźmie kod dla obcego systemu...
JJ
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
ODPOWIEDZ