MS Access Tips/Sample and VBA and Blog customize etc...

文字列を180度回転させて印刷する

片面に表と裏の両方印刷して、半分に折って、表面と裏面にしたいので、裏面用のテキストボックスを180度回転させたいのですが、可能でしょうか?

例えば、会議などで机の前に置く名札で、下記のように印刷して、真ん中で半分に折って使いたいというような場合ですね。

RptReverseName1.gif

そんなときに、使える技です。

難易度:

実は、このままではAccessの機能だけでは無理です。上で挙げた図は、実際は下記のようなプレビューを90度回転させたものなのです。

RptReverseName2.gif

上記のようなレポートならかなり無理矢理な方法ですが、できないことはありません。

まず、上図の左側のテキストボックスは下図のようになっています。

RptReverseName3.gif

ポイントは、フォントに、@マークのついた縦書き用フォントを使うこと。また、P のついたプロポーショナルフォントでなはなく等幅フォントを使うこと。それと、「縦書き」プロパティを「はい」にすることです。

右側はもう少し面倒になります。

RptReverseName4.gif

フォントは左側と同じ@マーク付きの等幅フォントにします。「縦書き」は「いいえ」にしてください。さらにコントロールソースは、下記のようにします。

=StrConv(Format(StrReverse([氏名]),"@@@@@@@@"),4)

縦書きいいえで、@マーク付きフォントにすると 左に90°倒れた文字になります。このままテキストボックスを縦長にすると縦に並びますが普通に見ると並びが前後が逆になります。それを StrReverse で文字並びを逆にして修正します。さらに、左寄せにするためにFormat関数で空白を挿入して調整してます。

追記: 掲示板で Suzu さんがうまい表現をしてくれたので、拝借します。

180度と考えるのではなく
90度/-90度と考えるのですね。

サンプルファイルが下記からダウンロードできます。
RptReverseName_07.zip (Access 2007-2010 形式 - 16kb)
RptReverseName.zip (Access 2002-2003 形式 - 11kb)
RptReverseName_2k.zip (Access 2000 形式 - 10kb)


拍手する

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/69-118c8ae9
該当の記事は見つかりませんでした。