OpenOffice.orgで日めくりカレンダーを作る

 “差し込み印刷”といえば、普通は封筒やはがきの宛名印刷が思い浮ぶ。だが、この機能の利用方法はほかにもたくさんある。今年は新たなクリスマスギフトを用意すべく、OpenOffice.org(OOo)の差し込み印刷を使って日めくりカレンダーを作成した。休日や家族の予定を入れて個人向けにカスタマイズしたものだ。早速、その作り方を紹介しよう。

 まず、OOoスイートの表計算ソフトCalcを立ち上げる。1行目の2つのカラムにそれぞれ「DATE」(日付)、「EVENT」(予定)と入力する。「DATE」のすぐ下のセルには、カレンダーの開始日を入れる(たとえば「2008/01/01」)。このセルの右下隅に表示されている小さな黒い四角を下方へとドラッグし、カレンダーの最終日にする日付が現われたところでドラッグ操作を止める。「EVENT」のカラムには、カレンダー上に表示したい予定を該当する日付の隣に記入する。予定の記入がすべて終わったら、このデータをdBASE(拡張子は.dbf)ファイルとして保存する。今ではOOoにも優れたデータベース機能が備わっているが、dBASEファイルを使ったほうが差し込み印刷の処理は簡単になる。

 このdBASEファイルを差し込み印刷で使うには、OOoにデータベースとして登録する必要がある。新規データベースの作成に取りかかり(「ファイル」→「新規作成」→「データベース」を選択)、開いたウィザードで「既存のデータベースに接続」、「dBASE」を選択する。次のステップに進んで「ブラウズ」ボタンを押し、先ほど保存したdBASEファイルのあるディレクトリを指定する。OOoでは、指定したディレクトリが“データベース”として、dBASEファイルがテーブルとしてそれぞれ処理される。なお、このディレクトリにはその他のタイプのファイルが存在しても構わない。データベース操作では無視されるからだ。ウィザードの次のステップでは、OOoへのデータベース登録は行うが(「はい、登録します」を選択)、「データベースを開いて編集します」と「テーブルウィザードを使ってテーブルを作成します」のチェックは外しておく。あとは「完了」ボタンを押してデータベース接続に名前を付ければ、カレンダー用データの準備は完了だ。

 カレンダー自体の作成には、ワープロソフトのWriterを使う。カレンダーの大きさは、レターサイズの4分の1にする。そのためには、OOoの「パンフレット」印刷機能を使うのが簡単だ。用紙サイズの書式を「ユーザー」にして、幅を5.5インチ(約14cm)、高さを8.5インチ(約22cm)に設定する。また、カレンダーのページは上半分に配置する。ページに日付を入れるには、「挿入」→「フィールド」→「その他…」を選択し、表示される「フィールド」ダイアログの「データベース」タブをクリックする。

oo_cal_thumb.png
OOoで作成する日めくりカレンダー

 「メールマージフィールド」を選択し、先ほど名前を付けたデータベース接続とdBASEテーブルを順に展開すると、フィールドの一覧が表示される。「DATE」をクリックし、「書式」セクションの「ユーザー定義」を選択し、隣のドロップダウンリストは「その他の書式…」にする。すると「数の書式」ダイアログが表示されるので、「書式コード」フィールドに「NNN」」と入力して「OK」をクリックする。「フィールド」ダイアログで「挿入」ボタンをクリックすると、ドキュメント中に「<DATE>」という灰色のタグが追加される。これは、各ページを印刷したときにフルスペルの曜日(英語表記)で置き換えられる部分だ。同様の処理をあと2回行うが、それぞれの「書式コード」フィールドには「MMMM」(月)、「D」(日)と入力する。最後に、ドキュメントの下のほうに「EVENT」フィールドを特別な書式を指定せずに挿入する。

 こうしてドキュメントに追加した4つのタグを、フォントスタイル、サイズ、センタリングなどの表示属性を調整しながら、好きなようにレイアウトする。ただし、ここでもレイアウトはページの上半分だけを占めるようにすること。レイアウトが完成したら、テキストの末尾にカーソルを置いた状態で再び「挿入」->「フィールド」->「その他…」を選択し、「フィールド」ダイアログの「データベース」タブを表示して「次のレコード」を選択する。先ほどのdBASEファイル名を選択した状態にして、「挿入」をクリックする。すると、ドキュメント中にラベル表示のない小さな灰色のブロックが追加される。続いて、ページ上半分のすべての記述(ただし、「次のレコード」ブロックは含めずに)をコピーし、真ん中でページを切る際に十分な余白が残るようにして、ページの下半分にペーストする。

 ここからはカレンダーファイルの作成だ。「ファイル」→「印刷」を選択し、「ドキュメントにアドレスデータベースのフィールドが含まれています。差し込み印刷を実行しますか」という確認メッセージに「はい」と答える。この時点で、バージョン2.3より古いOOoであれば、直接プリンタにデータを出力するというオプションだけが提示される。しかし、バージョン2.3であれば、マージ(結合)したデータを1つのドキュメントにまとめるというオプションが使える。そこで「出力」セクションの「ファイルとして」、「単一のドキュメントとして保存」の各項目を選択する。続いて「OK」をクリックすると、通常の「名前を付けて保存」ダイアログが現われるわけだ。ドキュメントの保存が終わり、そのファイルを開いて妻に見せたところ、創作が好きな彼女は特別な日付のページにそれらしい画像を追加してくれた。おかげで見た目がぐっとよくなった。

oo_cal2.png

 ここでようやく「ファイル」→「印刷」を選択する。「プロパティ」ボタンをクリックし、「印刷の向き」を「横」に設定する(用紙サイズはすでに「レター」になっている)。「印刷」ダイアグラムに戻って「オプション」ボタンをクリックし、「ページ」セクションの「パンフレット」にチェックを入れる。再び印刷のダイアグラムに戻り、「OK」ボタンを押すと、1枚に4ページずつの印刷が行われる。あとは、1ページずつ切り離して束ねるだけだ。

 印刷したカレンダーを束ねて固定する方法はいくつかある。今回、私が取った方法は、カレンダーのページよりも少し大きい厚手のパネルを用意して穴を2つ開け、束にしたカレンダーのほうにも同様の穴を開けて、両者をボルトとナットで固定するというものだ(背面には吊るしひもを付ける)。また、メモ用紙を束にしてくっつける接着剤を買って卓上用に仕上げてもよい。ほかにもアイデアがあれば、ぜひ下のコメント欄に記入してもらいたい。

Michael Criderは1987年からコンピュータに携わり、2000年以後はLinuxの各種ディストリビューションを利用している。プログラマ兼ネットワーク管理者として中堅企業に勤務。社内ではサーバの90%、デスクトップの75%(シンクライアントを利用)でLinuxが使われている。

Linux.com 原文