【根本解決方法はなし】Excel で印刷プレビューすると文字切れが発生する件の原因と対策

Excel の通常ビューで文字を入力しているときはセルの枠内に文字が収まっているのに、印刷プレビューで見てみると文字切れが発生していることがある件。

代表的な発生要因はプロポーショナルフォントを使用していること。「MS P ゴシック」や「MS P 明朝」などのプロポーショナルフォントを使っていると、印刷プレビューで見た方がセルのサイズに対する文字サイズが大きく計算されるようで、文字切れが発生するという仕組み。

根本解決方法はない

原因は Excel の仕様。通常ビューと印刷プレビューとでレンダリングの方法が違うことによるものらしい。

Excel は行、列単位でサイズのデータを持ち、表示の調整をしています。他の種類のアプリケーションに比較しても、表示に関して計算処理が多くなることで速度が遅くなります。表計算ソフトの性格上、行や列のサイズを変更したり、スクロールさせたりする操作は頻繁に行なわれますので、Excel ではある程度処理を簡略化することで速度を優先させています。Excel では、サイズの基本単位として「標準フォント」で指定されたフォントの幅をベースに、その時点でのプリンタ ドライバからの情報も合わせて計算で求められた「ポイント」を使用しています。この方法は、環境に依存しますので表示上の正確さには欠けますが、表示の度に表示領域と表示文字列の調整 (計算) を行わなくてすむため、速度的に有利になります。この他にもいくつかの理由によって、ワープロソフトや DTP ソフトなどのように出力を重要視するアプリケーションよりは厳密ではない部分があります。

強調した部分のとおり、これが仕様なので、印刷プレビュー表示をなんとかするとか、そういう根本解決の方法はない。

対策案

ネットで見た限り、以下のような対策を取るしかない。

ぼくが取っているシンプルな方法

「メイリオ」フォントを使う。以上。

メイリオフォントは全角文字が等幅で、半角文字はプロポーショナルなフォント。しかし、全角・半角どちらの文字が入ったセルであっても、印刷プレビュー時は通常プレビュー時と比べてセルサイズに対して文字サイズが小さくなり、通常ビューより余白が広くなるような見え方をする。Alt → O → S でシート全体のスタイル定義として「メイリオ」フォントに変更しておくと良い。

ネットで「Excel メイリオ 印刷プレビュー」などと検索すると、逆に文字切れするという報告も沢山あるが、自分の環境ではどうやっても文字切れは発生せず、個人的にはメイリオにするだけで解決している。