【VBAリファレンス|実務向け】印刷ミスをゼロにする!VBAでプレビュー表示を自動化するテクニック

スポンサーリンク

印刷結果を確認することの重要性

実務において「せっかく作成した資料を印刷したら、レイアウトが崩れていたり、改ページの位置が意図しない場所になっていた」という経験はありませんか?紙資源の無駄だけでなく、会議直前の資料修正は精神的にも大きな負担です。印刷前に「プレビュー」で確認する癖をつけることは、プロの事務作業における基本中の基本です。今回は、この確認作業をVBAでさらに効率化する方法を解説します。

基礎知識:印刷プレビューの仕組み

Excelの印刷プレビュー機能は、現在のシートが「どのように紙に配置されるか」を視覚的にシミュレーションするものです。通常はメニューから操作しますが、VBAを使うと、ボタン一つで特定の印刷設定を適用した状態のプレビューを瞬時に呼び出すことができます。これにより、毎回マウスでメニューをたどる手間を省くことが可能です。

実装:VBAでプレビューを表示する

VBAでは、ワークシートオブジェクトの「PrintPreview」メソッドを使用します。このメソッドを呼び出すだけで、ユーザーは印刷イメージを即座に確認できます。また、より実務的なケースとして「A4サイズ・横向き・1ページに収める」といった設定をコード内で強制的に行い、その状態でプレビューを表示させるのが賢い自動化のポイントです。

サンプルプログラム:実務で使える一括プレビュー設定

以下のコードは、アクティブなシートのページ設定を整え、プレビューを表示する一連の処理です。モジュールに貼り付けてお使いください。

Sub ShowPrintPreviewWithSettings()
‘ 印刷対象のシートを指定(ここではアクティブシート)
Dim ws As Worksheet
Set ws = ActiveSheet

‘ ページ設定を自動化する
With ws.PageSetup
.Orientation = xlLandscape ‘ 用紙の向きを横に設定
.Zoom = False ‘ 拡大縮小倍率をオフにする
.FitToPagesWide = 1 ‘ 横幅を1ページに収める
.FitToPagesTall = 1 ‘ 縦幅を1ページに収める
.PrintGridlines = False ‘ グリッド線は印刷しない
End With

‘ 印刷プレビューを表示する
‘ 引数 EnableChanges:=False にすると、プレビュー画面で設定変更ができなくなります
ws.PrintPreview

MsgBox “プレビューを確認しました。”
End Sub

応用・注意点:現場で陥りやすい罠

1. プリンタの設定依存: プレビュー結果は、現在PCに設定されている「規定のプリンタ」の仕様に依存します。異なる環境で同じファイルを開くと、改ページ位置がずれることがあるため注意が必要です。
2. プレビュー画面での編集: 上記サンプルコードで「EnableChanges:=False」を省略すると、プレビュー画面から「ページ設定」を変更できてしまいます。現場で配布するツールであれば、余計な設定変更を防ぐためにFalseを指定しておくのが安全です。
3. クイックアクセスツールバーの活用: VBAを使わない場合でも、Excel上部の「クイックアクセスツールバー」に「印刷プレビューと印刷」ボタンを追加しておくことで、ワンクリックで印刷確認が可能になります。VBAと併用し、日常的な確認作業を徹底しましょう。

タイトルとURLをコピーしました