VBA

【ExcelVBA】複数のExcelファイルの全シートを一括印刷するマクロ

shutterstock_756361510
ねぇもりさん、毎週の定例会議で資料をたくさん印刷してるんだ。
エクセルが10ファイル・それぞれ5シート。全部まとめて印刷できる方法ないかなぁ?
もりさん
もりさん
それなら、一括印刷できるマクロを作っちゃおう

複数のエクセルファイルの全シートを一括で印刷できるマクロを紹介します。

1つのExcelファイルの中に5シートあり、計10ファイルの場合、5シート×10ファイル=50シートが一括で印刷できちゃいます!

allprint8

指定ファイルの全シートを一括印刷する

標準モジュールに貼り付けて使用してください。

※用紙サイズ、縦横xページなどのレイアウト設定の処理はいれてません。

マクロの使い方

マクロを実行すると「ファイルを開く」ダイアログが出現します。

  1. ShiftキーまたはCtrlキーを使用して、印刷したいファイルをすべて選択します
  2. 「開く」を押す
allprint6

確認メッセージが登場するので、問題なければ「OK」を押します。

処理のポイント

もりさん
もりさん
ポイントはFor~Next文だね

 

配列FileName(1~n)には、選択したファイルのフルパスが格納されています。

allprint7

配列インデックスの最小値と最大値を取得するLBoundとUBoundをFor文の条件にして、WorkBooks.Openメソッドでファイルを一つずつ開き、印刷します。

Workbookオブジェクト.Sheets.PrintOutメソッド
→ワークブック内のすべてのシートを印刷します。

(おまけ)各ファイル1シートのみを印刷したい場合

1ファイルにつき1シートのみの場合は、VBAを使わずにサクッと印刷できちゃう方法があります。

allprint4

エクスプローラー上で、印刷対象のファイルをまとめて選択し、マウスを右クリック→印刷でOKです。

allprint9

 

資料をたくさん印刷するルーチン作業をかかえている方は、一括印刷のツールを作っておくと使い回しができるのでラクちんですね!

非エンジニアもプログラミングを学習する時代!

「プログラミング」ってエンジニアとかプログラマーの人がするものでしょ?文系の私には関係ないや~って思っていませんか?

いまは、非エンジニアもプログラミングを学習する時代です!

「プログラミングの必修化」をご存知ですか?

  • 2020年~ 小学校で開始
  • 2021年~ 中学校で開始
  • 2022年~ 高等学校で開始
  • 2024年~ 高校受験科目に新設

学校での必修化に向けて、すでに子ども向けプログラミングスクールが多数開校されています。

あと数年もすれば、あたりまえにプログラミングができる新入社員がやってくる時代になります。

プログラミングってなに?どんなもの?まずは無料体験から試してみませんか?

 

1週間の無料体験あり!
オンラインスクール実績No.1!