蝸牛の歩み

蝸牛の如く,ゆっくりでも着実に前へ・・・

Accessでラベル印刷

うちの館では発送データベースをAccessで管理しており、宛名ラベルもAccessのレポートを使って印刷する。また、個人的に標本ラベルもAccessで印刷できないかと考えている。ところが、印刷位置が勝手に動いてしまい、うまくいかないことがあった。

宛先の住所や施設名というのは、それぞれに長さが違うので1行になったり2行以上になったりする。テキストボックスの「印刷時拡張」プロパティを「はい」にしてやれば、勝手にテキストボックスが大きくなる(行が増える)。

ところが行が多くなるとラベルをはみだしてしまうので、フォントサイズを小さくしなければならない。筆まめなどの宛名ソフトだと、宛先の長さに応じてフォントサイズを変更してくれる。Accessでもできないかと思って調べたところ、テキストボックスのプロパティで「印刷時縮小」というのがあった。Excelの「縮小して全体を表示する」みたいなものかと思ったら違うようだ。結局のところAccessでは、VBAを使ってできなくはないにしても簡単ではないようだ。

逆に、行が少ない時、テキストボックスが本来の場所より上に移動して、行間がつまってしまう。この勝手な動きに悩んでいたのだが、これは上で出てきた「印刷時縮小」という機能のせいだと判明した。これを「はい」にしていると、テキストボックスが勝手に縮んで、その下にあるテキストボックスまで上に移動してしまうようだ。

たどりついた設定としては以下のとおり。

  • 印刷時縮小:いいえ
  • 印刷時拡張:はい
  • 行が折り返す可能性がある場合は、テキストボックスはあらかじめ2行分の高さをとっておく。こうすれば、2行になっても下のオブジェクトは移動しない。印刷時拡張によって2行になったときは、下のオブジェクトまで下に移動してしまう。

あと、位置合わせでも苦労した。正しく設定しているはずなのに、ラベルのシール部分からはみ出てしまうのだ。結局手差しをやめてトレイにしたら大丈夫だった。これの難点は、他の人にしばらく印刷しないように頼まないといけないことか。