Erstellen eines Wochenkalenders.
Die Größe der Nachfüllung des Systemnotizbuchs (82 mm B x 140 mm L) ist etwas Besonderes, und obwohl ich damit angefangen habe, war es schwierig, sie zu erhalten. Deshalb habe ich in der Vergangenheit darüber nachgedacht, sie von Hand herzustellen. Zu dieser Zeit hatte ich ein maßgeschneidertes Nachfüllpapier hergestellt, und es gab zu dieser Zeit einen Überschuss an leerem Papier, also dachte ich daran, es nächstes Jahr zum ersten Mal seit langer Zeit wieder von Hand herzustellen. Da es einmal im Jahr ist, kann es handgefertigt werden. Da es jedoch eine spezielle Programmierumgebung gibt, erstellen wir einen Mechanismus, mit dem jedes Jahr automatisch ein Kalender ausgegeben werden kann. Deshalb habe ich es programmiert.
Verwenden Sie die Funktion "Seriendruck" der Textverarbeitungssoftware. Daher können Kalenderdaten für den Seriendruck erstellt werden. Die Vorlage für "Seriendruck" ist eine Vorlage, die eine Woche lang in einem Spread angezeigt wird (siehe Abbildung unten). Gleiches gilt für eine Vorlage, die wie ein Effizienznotizbuch eine Woche auf einer Seite verpackt. Daten: Ein Datensatz pro Woche. Wenn Sie also über eine Kalenderdatenbank wie die unten gezeigte verfügen, können Sie diese für den Seriendruck verwenden. Ich habe diesen Tisch mit Rubin gemacht.
Der Code von Ruby lautet wie folgt.
.weekly_calendar.rb
# weekly
require 'date'
day = Date.new(2020,12,28) #Letzter Monat im Dezember ab Montag
last = Date.new(day.year+1, day.month, day.mday)
weekdays = {0 => 'Tag', 1 => 'Mond', 2 => 'Feuer', 3 => 'Wasser', 4 => 'Holz', 5 => 'Geld', 6 => 'Boden'}
while day < last do
records=Array.new
records.push(day.strftime("%Y%W,%Y,%W"))
dday = day
while dday < day+7 do
wday = weekdays[dday.wday]
records.push(dday.strftime("%b,%-m,%d,%w,#{wday},%a,"))
dday = dday+1
end
print records.join(',')
print "\n"
day = day+7
end
Die Header-Datei wurde mit dem folgenden Code ausgegeben und über die obige Ausgabe eingefügt. Wenn Sie csv ausgeben und in libreoffice calc laden, handelt es sich um Seriendruckdaten.
.header.rb
# weekly header
printf "%s,%s,%s,","yrwk","yr","wkwk"
printf "%s,%s,%s,%s,%s,%s,%s,","mte1","mtn1","dyn1","wkn1","wkj1","wke1","s1"
printf "%s,%s,%s,%s,%s,%s,%s,","mte2","mtn2","dyn2","wkn2","wkj2","wke2","s2"
printf "%s,%s,%s,%s,%s,%s,%s,","mte3","mtn3","dyn3","wkn3","wkj3","wke3","s3"
printf "%s,%s,%s,%s,%s,%s,%s,","mte4","mtn4","dyn4","wkn4","wkj4","wke4","s4"
printf "%s,%s,%s,%s,%s,%s,%s,","mte5","mtn5","dyn5","wkn5","wkj5","wke5","s5"
printf "%s,%s,%s,%s,%s,%s,%s,","mte6","mtn6","dyn6","wkn6","wkj6","wke6","s6"
printf "%s,%s,%s,%s,%s,%s,%s\n","mte7","mtn7","dyn7","wkn7","wkj7","wke7","s7"
Urlaubsinformationen werden manuell korrigiert. Ich möchte es verbessern, damit es automatisch eingefügt werden kann, sobald die Daten vorbereitet sind, aber der Zeitplan ist unentschlossen, da es sich um eine Arbeit einmal im Jahr handelt.
Recommended Posts