エクセルのファイル(ブック)をまとめて印刷!

エクセルのファイル(ブック)をまとめて印刷! MiniTips

印刷したいエクセルファイル(ブック)が大量にある場合、1つ1つエクセルファイルを開いて『印刷』の操作を繰り返すことになります。

一度だけなら大量にエクセルファイルがあってもまだ我慢できますが、何回も繰り返して印刷をしないといけない場合は、かなり手間がかかってうんざりするんじゃないでしょうか。

でも、Windowsのエクスプローラを使えば、エクセルファイルを開かなくてもまとめて印刷できるって知ってましたか?

この記事の内容

  • エクスプローラを使ったエクセルファイルのまとめ印刷。
  • エクセルファイルまとめ印刷の注意事項。
  • マクロ(VBA)を使った全ファイル全シートのまとめ印刷。

エクスプローラ上でエクセルファイルを選択して印刷操作をするだけなので、大量にエクセルファイルを印刷する場合は、ぜひ参考にしてください!

エクスプローラを使ったエクセルファイルのまとめ印刷

今回紹介する方法はエクスプローラを使った印刷となるので、エクセルの機能というよりWindowsの機能になります。

ちなみに、OSはWindows7以降、エクセルはエクセル2010以降であればどのバージョンでも構いません。

実際には、OS、エクセルとももっと古いバージョンでも問題なく一括印刷できますが、マイクロソフトのサポートが切れているバージョンはここでは記載していません。

 

では、エクセルファイルをまとめて印刷する場合の手順です。

エクスプローラを開き、印刷したいエクセルファイルを適当なフォルダにコピーなどでまとめておきます。

そして、印刷したいエクセルファイルをドラッグやクリックなどで全て選択し(①)、マウスの右クリックメニューで表示されるメニューから『印刷』をクリック。

複数のエクセルファイルをまとめて印刷する

これで選択されたエクセルファイルが全て印刷されます。

1つ1つエクセルファイルを開いて印刷するよりも簡単に印刷できるので、かなり手間が省けますよね^^

エクセルファイルをまとめて印刷する時の注意事項

大量のエクセルファイルを右クリックだけで印刷できるので、かなり便利な機能ですが、1点だけ注意事項があります。

それは、エクスプローラからの印刷では、全シートではなくアクティブシート(選択されている状態のシート)だけしか印刷できないこと。

ここで説明しているアクティブシート(選択されているシート)というのは、エクセルを開いた時に表示されるシートのことをいいます。

 

つまり、次のようにシートが3枚あるエクセルファイルを印刷する場合、アクティブシートになっているシート1枚だけしか印刷できないということです。

複数のエクセルファイルをまとめて印刷する

なので、あらかじめ印刷したいシートをアクティブ(選択)な状態にして保存しておく必要があります。

エクセルファイルが多いとちょっと大変かもしれないです^^

また、複数のシートを印刷したい場合は、この方法を使っても一回で印刷できないので、何回かに分けて印刷することになります。

でも、その欠点を次のマクロが解消してくれます!

ブック内の全てのシートを印刷できるマクロ(VBA)

さきほど、エクスクローラから印刷する場合は『印刷できるシートは1つだけ』と書きましたが、この欠点を補ってくれるのがマクロ(VBA)です。

次のマクロのコード(VBA)は、フォルダに置いてある全てのエクセルファイルの全てのシートを印刷してくれます。

Sub エクセルまとめ印刷()

Dim BookName As String
Dim CurrentSheet As Worksheet

'□----------------------------------------------------------------------------□
' ■マクロ実行前の準備■
'  (1)以下のフォルダパス(FolderPath)は環境にあわせて変更する。
'  (2)変更したフォルダパスに印刷したいエクセルファイルを配置する。
'
' ※このマクロは、エクセルファイルと同じフォルダに置いても問題ありません。
'
'□----------------------------------------------------------------------------□
Const FolderPath = "C:\temp\印刷"  ' 環境にあわせて変更する

' 指定フォルダにあるエクセルファイル名を取得
BookName = Dir(FolderPath & "\" & "*.xls")

If BookName = "" Then
  MsgBox "エクセルファイルがありません。フォルダを確認してください!"
  Exit Sub
End If

Do While BookName <> ""
' 全てのエクセルファイルを印刷するまでループ

    ' 取得したエクセルファイルがこのマクロであるか判定(マクロは印刷させない)
    If BookName <> ThisWorkbook.Name Then
    ' マクロでなかったので、印刷処理を実行する

        ' シートごとに印刷するため、一旦エクセルファイルをOpenする
        Workbooks.Open (FolderPath & "\" & BookName)

        ' エクセルファイルのシートを1つずつ取得して印刷する
        For Each CurrentSheet In Worksheets

            ' 確認用(デバッグ)
'            MsgBox "印刷ファイル名" & Chr(9) & "[" & BookName & "]" & Chr(13) & "印刷シート名" & Chr(9) & "[" & CurrentSheet.Name & "]"
            CurrentSheet.PrintOut ' 現在のシートを印刷する

        Next

        ' 全てのシートを印刷したので、エクセルファイルをCloseする
        Workbooks(BookName).Close SaveChanges:=False

    End If

    ' フォルダにある次のエクセルファイ名を取り出す
    BookName = Dir()

Loop

End Sub

エクセルのVBE(Visual Basic Editor)を使って、このコードをコードウィンドウに貼り付けてマクロにすればOKです。

詳しい手順は以下の記事に書いているので、参考にしてください。

ワードやパワーポイントでも同じようにまとめて印刷できる

ここまではエクセルでのまとめ印刷を紹介しましたが、冒頭でも書いているようにファイルを複数まとめて印刷できるのはエクセルの機能ではなくOS(Windows)の機能です。

なので、エクセルに限らずワードやパワーポイントでも今回の方法でファイルをまとめて印刷することができます。

もしワードやパワーポイントで大量のファイルを印刷したい場合は、ぜひ今回紹介した方法をお試しください!

ポイント

ポイント

  • エクセルファイルを開かないでまとめて印刷したい場合は、エクスプローラのメニューから印刷する。
  • ただし、全シートが印刷されるわけではなくアクティブシート(選択されているシート)のみが印刷されることに注意。
  • ワードやパワーポイントでも、エクスプローラからまとめて印刷ができる。

エクスプローラを使った印刷では、エクセルファイルの数がどんなに多くても、右クリックメニュー一発で印刷できるのが便利なところです。

アクティブシートしか印刷できない注意点がありますが、それを割り引いても大量のエクセルファイルをいちいち開かないで印刷できるというのはかなり楽ができるんじゃないでしょうか。

もし、全シート印刷したい場合は、今回紹介しているマクロが使えますよ^^

エクセルファイルをまとめて印刷することが多い場合は、今回紹介した方法をぜひ参考にしてください!

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