力業と迷いどころ

とちゅうまで

けっきょくWordで作り始めてみました。横7列の表を作って、最初に年月から左上セルに入る数字を決め、後のセルは+1ずつしながら数字を埋めていくという方式。左上セルの数字は日曜日なので、w=0で昨日の式を変形して
 \white d_0=1-(y+[\frac{y}{4}]-[\frac{y}{100}]+[\frac{y}{400}]+[\frac{13m+8}{5}]+1)\hspace{1}mod\hspace{1}7
こうするとd0は-5〜1になる*1ので、これに続く数字を全部のセルに数字を埋め、あとは0以下とその月にない日付のセルを消せばその月の並びができるという寸法です。
最初はWordの「フィールド」を使ってこれを作ったのですが、祝日や潮汐を後で個々のセルに入れることを考えると、これでは難しくなります。祝日や潮汐はあとでVBAで入れようと思いましたが、そうすると日付を入れるところもVBAでやった方が手っ取り早いことに気づき、ほとんどすべてVBAでやらせるようにしました*2
今日できたのは祝日を入れるところまで。ここまでは力業なのでわりと簡単にできますが、あとは潮汐などオリジナル(ダイバー的?)な部分を入れていくことになります。
最後まで迷いそうなのは、カレンダーの大きさや形をどうするか。使えるカレンダーにしたいので「ます」にはそれなりの大きさを取りたいのですが、そうするとコンパクトなサイズでは写真が小さくなります。CDケースは使いやすいけれど、正方形だとスペース効率が悪くなります。

*1:わざわざ1を足したり引いたりしているのは、日曜日が1日になる月で最初が空行になってしまうのを防ぐため。

*2:最初はWordかExcelか考えたけれど、日付計算はVBA使うならどちらでもあまり変わらないことに後で気づいた。Excelでもどうせ祝日計算はやってくれないし。