Uwaga: przeglądasz tę stronę na urządzeniu o niewielkim ekranie (szerokość < 640px). Niektóre zamieszczone w artykule ilustracje i animacje mogą stać się nieczytelne po dopasowaniu ich do rozdzielczości tego ekranu.
Yestok.pl
Jerzy Moruś
© Wszystkie prawa zastrzeżone. Wykorzystanie całości serwisu lub jego fragmentów bez pisemnej zgody autora zabronione.
Uniwersalny kalendarz gregoriański
Opracowanie powstało w oparciu o wersję programu istniejącą w trakcie jego pisania, Libre Office: 5.2.6.
Szablon jest kompletnym projektem, dzięki któremu można wydrukować kalendarz na wybrany rok. Projekt nie zawiera makr. Ze względu na użycie funkcji IFERROR nie może zostać wykorzystany w środowisku Apache OpenOffice. Calc Apache OpenOffice nie obsługuje tej funkcji i sygnalizuje błąd (stan przy wersji 4.1.3).
Wersja 1.1 z dnia 02.07.2018Poprzednia wersja kalendarza po zapisaniu pliku i ponownym jego otwarciu „gubiła” informacje o przypisanych do daty kategoriach, mimo że nazwy kategorii znajdowały się na swoich miejscach. Poprawiłem ten algorytm wyboru. Obecnie, po zapisaniu pliku, kategorie przypisane do daty nie są „zapominane”. Dotychczasowi użytkownicy mogą przekopiować swoje wprowadzone dane do nowej wersji arkusza.W arkuszu „Flexible” zmieniłem listę wyboru nazwy dnia tygodnia. Obecnie lista zawiera nazwy dnia tygodnia w języku użytkownika pakietu LibreOffice poprzedzone liczbą porządkową. Dotychczasowi użytkownicy po przekopiowaniu danych do tego arkusza muszą ponownie wybrać nazwę dnia tygodnia.Korespondencja: clndr(at)yestok.pl Link do pobrania wersji kalendarza bezpośrednio z mojego serwisu: calendar.ots
Użytkownik może określić dowolne dni, które zostaną wyróżnione w kalendarzu. Karty kalendarza zawierają nazwy miesięcy i nazwy dni tygodnia w języku użytkownika (domyślnym języku pakietu LibreOffice). Projekt składa się z kilkunastu arkuszy. Arkusz „Home” pozwala ustalić podstawowe ustawienia:
- język interfejsu,
- własne nazwy kategorii i opcję czy będą one wykorzystywane,
- sposób prezentacji nazw miesięcy i nazw dni tygodnia na kartach kalendarza,
- rodzaj kalendarza, użytego do wyznaczana daty Wielkiejnocy oraz
- rok, na który ma zostać przygotowany kalendarz.
Arkusze o nazwach od „I” do „XII” zawierają karty poszczególnych miesięcy roku. Nazwy dni tygodnia oraz nazwy miesięcy występują w języku, który jest domyślnym językiem pakietu LibreOffice (Ustawienia lokalne).
Arkusze „Easter”, „Flexible” i „Fixed” przeznaczone są do określenia tych dni w kalendarzu, które mają być w nim wyróżnione.
Trzy dodatkowe arkusze są ukryte, gdyż są arkuszami roboczymi. Wszystkie arkusze mają włączoną ochronę i zezwalają na wpisywanie danych tylko do miejsc do tego przeznaczonych.
Kalendarz można przygotować na lata od roku 1583.
Prace zakończyłem korzystając z wersji LibreOffice 5.2.6.
Wybór języka interfejsu:
Kalendarz można obsługiwać w jednym z czterech języków. Polskim (kraj autora), angielskim, niemieckim i rosyjskim. Wybrany język decyduje o prezentacji treści informacyjnych. Nazwy miesięcy i nazwy dni tygodnia na kartach kalendarza występują w języku, jaki jest przypisany domyślnie do pakietu LibreOffice.
Karta kalendarza.
Układ dni w kalendarzu na karcie miesiąca przedstawia rys. 2.

Ilustracja przedstawia kartę przygotowana w języku polskim. Każdy miesiąc przedstawiony jest w postaci tablicy prezentującej sześć kolejnych tygodni. Zgodnie z normą ISO 8601:2004 pierwszym dniem tygodnia jest poniedziałek. Każdy tydzień jest poprzedzony jego numerem porządkowym. Numer porządkowy nadawany jest w obrębie tego roku kalendarzowego, w którym zawierają się przynajmniej 4 dni tego tygodnia. Oznacza to, że niektóre początkowe dni roku mogą należeć do ostatniego tygodnia roku poprzedniego oraz niektóre ostatnie dni roku do pierwszego tygodnia roku następnego.
Każdy dzień miesiąca może być przedstawiony jako dzień zwykły albo dzień wyróżniony. Dni zwykłe zawierają wyłącznie liczbę porządkową dnia, czarną dla dni powszednich i czerwoną dla niedziel. Jeżeli numer porządkowy dnia nie należy do miesiąca prezentowanego na karcie kalendarza, to jest on pokazany w kolorze szarym.
Wyróżnianie dni.
Wyróżnienie dnia polega na wyznaczeniu daty i przypisaniu jej jednej z pięciu kategorii. Dni wyróżnione mogą zawierać dodatkowe opisy umieszczane nad i pod liczbą porządkową dnia. Opis ten nie może być dłuższy niż 30 znaków.
Typy wyróżnianych dni.
Wyróżniane dni należą do jednego z trzech typów.
-
Pierwszy typ to dni stałe, czyli takie, które zawsze mają taką samą datę w roku. Należą tu na przykład Nowy Rok (1.I), Boże Narodzenie (25.XII i 26.XII) oraz inne dni charakterystyczne dla danego kraju (święta), osoby (urodziny, rocznica ślubu) albo zwyczajów (Walentynki, Dzień Matki).
Ten typ dnia definiuje się w arkuszu „Fixed”. Dni można definiować w dowolnej kolejności podając numer miesiąca, numer dnia w miesiącu, kategorię oraz opisy (jeśli mają się pojawić).
Pierwszą wpisaną na stałe i nieusuwalną datą jest 29. lutego. Data ta pojawia się w kalendarzu raz na cztery lata i jeśli zostanie jej przypisana kategoria oraz opisy, to uaktywni się tylko w roku przestępnym. Jeśli taka data jest potrzebna to należy wykorzystać ten wpis. Tej daty nie można ponownie umieścić w spisie, możliwość jej wprowadzenia jest blokowana.
Arkusz umożliwia wyróżnienie każdego dnia w roku.
-
Typ drugi to daty uzależnione od Wielkiejnocy.
We wszystkich religiach chrześcijańskich specjalne znaczenie odgrywają święta wielkanocne. Jest to święto ruchome i jego datę ustala się na pierwszą niedzielę po pierwszej wiosennej pełni Księżyca. Datę tę podaje się w odniesieniu do powszechnie obecnie stosowanego kalendarza gregoriańskiego (papież Grzegorz XIII przeprowadził w XVI wieku istotną reformę kalendarza), jednak wiele kościołów nadal wyznacza datę Wielkanocy według kalendarza juliańskiego, (kalendarz juliański został opracowany w 45. roku przed naszą erą na żądanie Juliusza Cezara i obowiązywał do 1582 r.). Dlatego użytkownik kalendarza musi wybrać rodzaj kalendarza użytego do wyznaczenia tych dat. Od daty Wielkanocy zależą daty większości ruchomych świąt chrześcijańskich m.in. Triduum Paschalne, Zielone Świątki, Wniebowstąpienie Pańskie, Boże Ciało, ale także inne dni jak choćby Środa Popielcowa, Tłusty Czwartek, ostatnia sobota karnawału, czy ostatki.
Definiowanie tych dni odbywa się w arkuszu „Easter”. Pierwszą umieszczoną w tym zestawie datą jest obliczona dla danego roku data Niedzieli Wielkanocnej. Daty tej nie można usunąć, a jeżeli zostanie pozbawiona kategorii to pozostałe daty, zależne od Wielkanocy nie zostaną wyróżnione.
Aby wyznaczyć te daty należy w polu „przesunięcie” wpisać liczbę określającą ile dni po (liczba dodatnia) albo ile dni przed (liczba ujemna) Wielkanocą występuje wyróżniany dzień. Ten typ daty pozwala dodać tylko jeden opis – „Opis górny”.
Rys. 3: Przykładowe dni zależne od Wielkanocy. Wyznaczając przesunięcia należy zwrócić uwagę na definicję dni. Na przykład „Wniebowstąpienie” obchodzone w czterdziestym dniu od zmartwychwstania Pańskiego (czwartek) jest w istocie 39-tym dniem po Niedzieli Wielkanocnej, a w niektórych krajach decyzją lokalnych episkopatów zostało przeniesione na siódmą niedzielę po Wielkanocy, czyli 42 dni później.
Można określić do szesnastu takich dni zależnych.
Poniżej zestawienie kilku wybranych dni związanych z datą Wielkanocy oraz dotyczące ich przesunięcie.
- Tłusty czwartek (-52)
- Ostatnia sobota karnawału (-50)
- Ostatki (-47)
- Popielec (-46)
- Niedziela Palmowa (-7)
- Wielki Czwartek (-3)
- Wielki Piątek (-2)
- Wielka Sobota (-1)
- Wielkanoc
- Poniedziałek Wielkanocny (+1)
- Święto Bożego Miłosierdzia (+7)
- Wniebowstąpienie (+42)
- Zesłanie Ducha Świętego (Zielone Świątki) (+49)
- Zielone Świątki (drugi dzień) (+50)
- Boże Ciało (+60)
-
Typ trzeci to daty uzależnione od dnia tygodnia. Dotyczą wydarzeń występujących w określonym dniu tygodnia danego miesiąca. W niektórych krajach daty te nazywane są „Bank Holiday”. Na przykład ostatni poniedziałek maja ( w Wielkiej Brytani nazywany „Spring Bank Holiday” albo pierwszy piątek sierpnia (w Szkocji i Irlandii nazywany „Summer Bank Holiday”) czy druga niedziela maja, która w Belgii jest Dniem Matki (lecz nie jest świętem).
Te daty definiuje się w arkuszu „Flexible”. Trzeba określić kategorię, numer miesiąca, nazwę dnia tygodnia oraz podać, o który dzień w miesiącu chodzi. Przykład takiego zestawienia przedstawia rys. 4.
Rys. 4: Przykładowa lista dni zależnych od dnia tygodnia. Dzień tygodnia wybiera się z rozwijanej listy nazw dni tygodnia. Nazwy dni tygodnia pojawiają się w języku domyślnym pakietu. Wybór, który to ma być dzień (pierwszy, drugi, trzeci, czwarty, piąty czy ostatni) wybiera się wskazując odpowiedni symbol na rozwijalnej liście „Który dzień?”. Postać tej listy przedstawia ilustracja poniżej.
Rys. 5: Rozwijana lista wyboru „Który dzień?”. Ten typ daty także pozwala dodać tylko „Opis górny”. Takich dat można określić do 25.
Kategorie.
Kategoria decyduje o sposobie prezentowania daty w kalendarzu. Kategorie mają nadane własne symboliczne nazwy po to aby móc się do nich odwołać. Stosowanie kategorii zależy wyłącznie od użytkownika. Zdefiniowałem pięć kategorii.
- Czerwona – numer porządkowy dnia zostanie przedstawiony w kolorze czerwonym i otoczony taką samą ramką. Zazwyczaj kalendarze w ten sposób pokazują święta – kościelne i państwowe – które są dniem wolnym od pracy. Przykładem takiego dnia jest na rys. 1. 1.V i 29.V.
- Purpurowa – numer porządkowy dnia zostanie przedstawiony w kolorze purpurowym i otoczony taką samą ramką.
- Niebieska – numer porządkowy dnia zostanie przedstawiony w kolorze niebieskim i otoczony taką samą ramką. Przykładowym dniem jest 25.V. (Święto Wniebowstąpienia zaznaczone w czterdziestym dniu po Zmartwychwstaniu Pańskim.)
- Zielona – numer porządkowy dnia zostanie przedstawiony w kolorze zielonym i otoczony taką samą ramką. Przykładem na ilustracji są dni: 14.V. (Dzień Matki w Belgii) i 26.V. (Dzień Matki w Polsce).
- Czarna – W tej kategorii numer dnia przedstawiony jest tak jak data niewyróżniona, ale z umieszczonymi opisami (jeśli wystąpią). Przykładem jest data 6.V. zawierająca dwa opisy.
Numer porządkowy dnia wypadającego w niedzielę jest zawsze czerwony bez względu na przypisaną kategorię.
Użytkownik może zdefiniować własne nazwy kategorii wpisując je w odpowiednie pola w arkuszu „Home”. Aby wykorzystać własne nazwy kategorii należy dodatkowo włączyć opcję „Moje nazwy kategorii”.
Kategorie wybiera się rozwijając listę wyboru. Lista ukazuje się w języku zastosowanego interfejsu lub, jeśli ustawiono opcję „Moje nazwy kategorii”, wyświetlają się nazwy określone przez użytkownika. Jeżeli opcja jest włączona, ale nie podano własnych określeń kategorii, pokazywane są nazwy zgodne z użytym w interfejsem. Kategorię usuwa się klawiszem „DELETE”. Data, która nie ma przypisanej kategorii jest traktowana jak data bez wyróżnienia.
Opisy.
Opisy można dodać do każdego dnia, jednak pojawią się one w kalendarzu tylko wtedy gdy data będzie miała przypisaną kategorię. Daty wyróżnione w arkuszu „Fixed” mogą mieć dwa opisy. Jeden pojawi się nad numerem porządkowym dnia i będzie podany pismem pogrubionym a drugi, pod numerem dnia, pokazany pismem pochyłym. Treść każdego opisu może mieć co najwyżej 30 znaków. Długość opisu jest kontrolowana.
Daty wyróżnione w arkuszach „Easter” i „Flexible” mogą mieć tylko jeden opis – opis górny. Jeżeli data występująca w tych arkuszach ma także odpowiednik w arkuszu „Fixed” to opis górny daty „Fixed” zostanie automatycznie przeniesiony do opisu dolnego daty w arkuszu „Easter” i „Flexible”. Jeżeli data „Fixed” nie ma opisu górnego, to przeniesiony zostanie opis dolny.
Wyznaczanie dni wyróżnionych.
Wszystkie wyróżnione dni tworzą zestawienie dat ułożonych grupami: najpierw daty zależne od Wielkanocy, następnie daty zależne od dnia tygodnia i w końcu dni stałe. Każda data w kalendarzu jest wyszukiwana w tym zestawie i jeśli zostanie znaleziona otrzymuje stosowną kategorię i opisy. Akceptowana jest kategoria znaleziona najwcześniej. Teoretycznie taka sama data może wystąpić w zestawieniu wielokrotnie. Np. Tłusty czwartek może zostać określony w wykazie dni zależnych od Wielkanocy i wypaść akurat w określony czwartek miesiąca a ponadto data tego czwartku może zbiec się z datą umieszczoną w dniach stałych. W takiej sytuacji zaakceptowana zostanie kategoria z wykazu dni zależnych od Wielkanocy (data wystąpi najwcześniej).
Datom w arkuszach „Easter” i „Flexible” nie można przypisać kategorii „Czarna”. Jeżeli data Niedzieli Wielkanocnej (arkusz „Easter”) nie będzie miała nadanej kategorii, to żadne daty zależne od niej nie będą wyróżniane.
Drukowanie.
Aby wydrukować wybrane miesiące należy zaznaczyć te arkusze i wykonać wydruk. Zaznaczanie kilku wybranych arkuszy – CTRL+klik na każdym wybranym, zaznaczenie arkuszy „od – do” „klik” na pierwszym, a następnie „SHIFT+klik” na ostatnim do zaznaczenia. Na listwie stanu znajduje się nazwa stylu strony „Calendar”, dwukrotne kliknięcie myszką w tę nazwę otworzy okno dialogowe, w którym można określić inny format drukowanych stron.
Zmiana języka kalendarza.
Kalendarz można wydrukować w dowolnym języku dostępnym w oprogramowaniu LibreOffice. Należy w tym celu zmienić język domyślny pakietu na inny. Po takiej zmianie trzeba ponownie wprowadzić rok. Zmiana języka domyślnego oraz zmiana interfejsu nie wpływają na ustalone dni wyróżnione. W arkuszu „Home” można ustalić sposób prezentowania nazw miesięcy i nazw dni tygodnia na kartach miesięcznych kalendarza. Z rozwijanej listy należy wskazać wybrany sposób.
Jeżeli projekt Ci się spodobał, możesz wesprzeć autora za pośrednictwem serwisu PayPal.
Wsparcie zrealizujesz za pośrednictwem serwisu płatności internetowych PayPal. Nie musisz mieć konta w tym serwisie. Wystarczy kliknąć rysunek obok. Gdy masz swoje konto w PayPal, możesz skorzystać z linku PayPal.me.
Dziękuję!
System operacyjny Windows/Linux | System operacyjny MacOs | |
Kliknięcie prawym przyciskiem myszki | Control + kliknięcie | |
Klawisz CTRL (w skrótach klawiaturowych) | Klawisz ⌘ | |
F5 | Nawigator | Shift + ⌘ + F5 |
F11 | Style i formatowanie | ⌘ + T |