文字数が多い場合にフォントサイズを小さくして1行で印字したい

★★:まあある

住所や商品名等の文字数が多い場合でも、改行せずに1行で表示したいって場面ありますよね?
Excelのセルの書式設定にある「縮小して全体を表示する」に該当する機能です。


1ページに印字する明細行数が固定の場合や改行が入ってしまうと他の項目と文字が重なってしまう場合が考えられるかと思います。

このような場合、属性式に「AREA」関数を使用することで文字サイズを縮小し1行で印字させることができます。

AREA関数サンプルイメージ

まず該当フィールドをクリックしてプロパティ内の属性式を設定します。

属性式については別エントリの属性式が使いたいのに設定項目が見つからないも参考にしてくださいね。

今回は見積明細の備考欄を対象とするので、レイアウトに合わせて以下の値を設定します。

AREA(800,80,1,5)

それぞれの引数の意味は以下の通りです。

書式: AREA(幅_double,高さ_double,アスペクト比固定_int<,寄せ位置_int>)

「幅_double」「高さ_double」に指定する単位はdotになります。
フィールドの左上を起点とし、3~100000の範囲で指定が可能です。

「アスペクト比固定_int」は0か1を指定します。
0: アスペクト比を固定しない
1: アスペクト比を固定する

※アスペクト比・・・縦横の比率です。

「固定する」の1を指定する機会が多いと思います。

「寄せ位置_int」に、次のいずれかの値を指定します。
文字の方向が横のとき、4=上、[5]=中央、6=下
※5の中央が規定値です。

AREA関数 プロパティ設定イメージ


このAREA関数によって文字数が長くなった場合でもフォントサイズを小さくし、1行で表示することができます。

それではテスト印刷を行って、印字結果を確認してみましょう。

文字数の多い1行目のフォントサイズが2行目に比べて縮小されて表示されていることがわかる思います。

属性式摘要イメージ


フォントサイズは一定のサイズを使用して印字する方が見栄えが良いとは思いますが、
1行で出力する必要がある際は今回ご紹介したAREA関数を利用してみてはいかがでしょうか。

Topに戻る

フリーワード検索