シート内の特定の範囲だけ印刷したい場合など、印刷の設定を毎回細かく決めるのは面倒です。そこで、ここではVBAで印刷を実行できるPrintOutを使い、文書の印刷を自動化・効率化する方法を解説していきます。
PrintOutとは?
Excel VBAのPrintOutメソッドとは、VBAのコード内で指定した設定に応じてワークシートを印刷するためのメソッドです。
Excelのメニューから印刷を行うのと同様に、開始ページや終了ページなどを設定して印刷することができます。
PrintOutメソッドの基本的な書き方は以下のとおりです。
【基本構文】
WorkSheet.PrintOut (From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName, IgnorePrintAreas)
PrintOutメソッドにはたくさんの引数があり、とても細かく設定できるのですが、そのぶん一度に覚えるのは大変です。
そこで、今回はよく使う設定の3つの項目に絞って解説していきます。
PrintOutの使い方をサンプルコードで解説
印刷設定なしで印刷する
まず、特に設定をせずに印刷する場合のサンプルコードをご紹介します。
ここでは、Excelで新規ワークシートを作成した際のデフォルト設定であるSheet1という名前のシートを印刷してみましょう。
【サンプルコード】
Sub PrintOut1()
Worksheets("Sheet1").PrintOut
End Sub
PrintOutの後ろに何も入力しなければ、標準の設定で印刷が始まります。
マクロを実行したあと、そのままワークシートを印刷したい場合などには1行書くだけで印刷することができます。
ページ範囲を指定して印刷する
ページ範囲を指定する場合は、開始ページをFrom:=で、終了ページをTo:=で入力します。
1ページ目から3ページ目まで印刷する場合のサンプルコードは以下のとおりです。
【サンプルコード】
Sub PrintOut2()
Worksheets("シート名").PrintOut From:=1, To:=3
End Sub
印刷する部数を指定して印刷する
一度に複数セットで印刷する場合は、印刷部数をCopies:=で指定します。
4部印刷する場合は以下のようになります。
【サンプルコード】
Sub PrintOut3()
Worksheets("Sheet1").PrintOut Copies:=4
End Sub
印刷プレビューを表示してから印刷する
印刷する前に見た目を確認したい場合はプレビューでチェックしますよね。印刷プレビューを表示するかどうかについてもPrintOutで指定できます。
PrintOutの後ろにPreview:=Trueを追加すると印刷プレビューが表示されます。
【サンプルコード】
Sub PrintOut4()
Worksheets("Sheet1").PrintOut Preview:=True
End Sub
複数の設定を組み合わせて印刷する
ここまでにご紹介した設定を全て組み合わせて印刷する方法をご紹介します。
開始ページと終了ページを指定したときにFromとToをカンマで区切りましたが、他の設定項目もカンマで区切って続けることで同様に組み合わせることができます。
【サンプルコード】
Sub PrintOut5()
Worksheets("Sheet1").PrintOut From:=1, To:=3, Copies:=4, Preview:=True
End Sub
補足: 印刷プレビューだけを確認したい場合はどうする?
実際に印刷をせずに、とりあえず印刷プレビューを確認してみたいという場合もあるかと思います。
そういうときは、PrintOutの代わりにPrintPreviewというメソッドを使用することで印刷プレビューを表示することができます。
PrintPreviewには設定項目が一つだけありますが、ここでは説明を割愛します。
書き方は以下のとおりです。
【サンプルコード】
Sub PrintPrev()
Worksheets("Sheet1").PrintPreview
End Sub
これだけで印刷プレビューの画面を表示することができます。覚えておくとPrintOutとの使い分けに役立つでしょう。
まとめ
この記事では、VBAを使ってシートを印刷する方法についてご紹介しました。
VBAで組んだマクロで印刷が自動化できれば、大量の文書を何部も印刷したり、定期的に印刷したりする業務にも役立ちます。ぜひ使いこなしましょう!
関連記事
- VBAとは
- Excelで覚えておくべき17の基本関数と目的別逆引き一覧
- オートフィルターの設定・解除方法
- メッセージボックスの設定方法
- 【Excel VBA】Valueプロパティでセルの値を取得・上書きする方法を解説
VBAの勉強方法は?
書籍やインターネットで学習する方法があります。昨今では、YouTubeなどの動画サイトやエンジニアのコミュニティサイトなども充実していて多くの情報が手に入ります。
そして、より効率的に知識・スキルを習得するには、知識をつけながら実際に手を動かしてみるなど、インプットとアウトプットを繰り返していくことが重要です。特に独学の場合は、有識者に質問ができたりフィードバックをもらえるような環境があると、理解度が深まるでしょう。
ただ、VBAに限らず、ITスキルを身につける際、どうしても課題にぶつかってしまうことはありますよね。特に独学だと、わからない部分をプロに質問できる機会を確保しにくく、モチベーションが続きにくいという側面があります。独学でモチベーションを維持する自信がない人にはプログラミングスクールという手もあります。費用は掛かりますが、その分スキルを身につけやすいです。しっかりと知識・スキルを習得して実践に活かしたいという人はプログラミングスクールがおすすめです。
プログラミングスクールならテックマニアがおすすめ!
ITスキル需要の高まりとともにプログラミングスクールも増えました。しかし、どのスクールに通うべきか迷ってしまう人もいるでしょう。そんな方にはテックマニアをおすすめします!これまで多くのITエンジニアを育成・輩出してきたテックマニアでもプログラミングスクールを開講しています。
<テックマニアの特徴>
・たしかな育成実績と親身な教育 ~セカンドキャリアを全力支援~
・講師が現役エンジニア ~“本当”の開発ノウハウを直に学べる~
・専属講師が学習を徹底サポート ~「わからない」を徹底解決~
・実務ベースでスキルを習得 ~実践的な凝縮カリキュラム~
このような特徴を持つテックマニアはITエンジニアのスタートラインとして最適です。
話を聞きたい・詳しく知りたいという方はこちらからお気軽にお問い合わせください。