Créer un calendrier hebdomadaire.
La taille de la recharge du portable système (82 mm L x 140 mm L) est particulière, et même si j'ai commencé à l'utiliser, il était difficile de l'obtenir, alors j'ai pensé à le fabriquer à la main dans le passé. À cette époque, j'avais fabriqué une recharge de papier sur mesure, et il y avait un surplus de papier vierge à ce moment-là, alors j'ai pensé à le fabriquer à la main pour la première fois depuis longtemps l'année prochaine. Comme c'est une fois par an, il peut être fait à la main, mais comme il existe un environnement de programmation spécial, créons un mécanisme qui peut automatiquement générer un calendrier chaque année. C'est pourquoi je l'ai programmé.
Utilisez la fonction «publipostage» du logiciel de traitement de texte. Par conséquent, les données de calendrier pour le publipostage peuvent être créées. Le modèle de "publipostage" est un modèle qui s'affiche pendant une semaine dans une planche, comme illustré dans la figure ci-dessous. La même chose s'applique à un modèle qui emballe une semaine d'un côté comme un cahier d'efficacité. Données: un enregistrement par semaine, donc si vous avez une base de données de calendrier comme celle illustrée ci-dessous, vous pouvez l'utiliser pour le publipostage. J'ai fait cette table avec du rubis.
Le code du rubis est le suivant.
.weekly_calendar.rb
# weekly
require 'date'
day = Date.new(2020,12,28) #Dernier mois de décembre commençant le lundi
last = Date.new(day.year+1, day.month, day.mday)
weekdays = {0 => 'journée', 1 => 'Mois', 2 => 'Feu', 3 => 'eau', 4 => 'bois', 5 => 'Argent', 6 => 'sol'}
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
Le fichier d'en-tête a été produit avec le code suivant et collé au-dessus de la sortie ci-dessus. Si vous sortez csv et le chargez dans libreoffice calc, il s'agira de données de "fusion et publipostage".
.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"
Les informations sur les vacances seront corrigées manuellement. Je voudrais l'améliorer pour qu'il puisse être inséré automatiquement une fois les données préparées, mais le calendrier est indécis car c'est un travail une fois par an.
Recommended Posts