【Excelマクロ】複数エクセルファイル、複数シートを一括印刷する【VBAコード】

複数Excel一括印刷マクロ 公務員
複数Excel一括印刷マクロ
この記事は約6分で読めます。

フォルダ内の全てのExcelファイル、全てのExcelシートを一括印刷したい!かんたんにできるVBAマクロを紹介します。

Excelファイルを印刷する際、いちいちファイルを開かなければいけなかったり、シートを選択し忘れたり・・・。意外と手間がかかる上に落とし穴が多いのでマクロにしてみました。

Excel複数ファイル複数シートを一括印刷マクロ(VBAコード)

1.印刷したいExcelファイル群と同じフォルダ内に「マクロ用のExcelファイル」を作成します。
2.次のマクロを登録して、実行します。
3.同フォルダ内のExcel全ファイル及び全シートを連続印刷します。

Sub sample()

Application.ScreeenUpdating = False ‘画面更新オフ

Dim dstSheet As Worksheet
Set dstSheet = ThisWorkbook.Worksheets(1)
Path = Application.ThisWorkbook.Path & “\”
Dim buf As String
  buf = Dir(Path & “*.xls*”) ‘同じフォルダパス内のエクセルファイル

Dim srcBook As Workbook
Dim srcSheet As Worksheet
Do While buf <> “”
Set srcBook = Workbooks.Open(Path + buf)
For i = 1 To Sheets.Count ‘全シート
Set srcSheet = srcBook.Worksheets(i)
srcSheet.PrintOut
Next
srcBook.Close False
buf = Dir()
Loop
Application.ScreeenUpdating = True ‘画面更新オン
End Sub

Excel複数ファイル印刷は、マクロ不要

Excelファイルが、1シートしか登録されていない場合で、
複数ファイル印刷したい場合は、マクロ不要です。

1.印刷したいファイルを選択
2.マウス右クリックメニューから印刷

これにより、複数ファイルを一括印刷できます。

印刷設定は、Excelファイルの設定に依存。 一括して印刷設定は不可

Excelは、ファイルやシートごとにページ設定/印刷設定の情報を持ちます。
たとえば、全てのファイルを両面印刷したい場合、VBA側で処理はできません。

Excel作成時または保存時に印刷設定を統一するルール付けをしておくとよいです。

ちなみに、印刷設定する場合は、シートを複数選択して設定を変更した場合でも、設定変更できるのは最初に選択したシートのみであり、全てのシートの設定を一括で変更することはできません。

Excel複数ファイル複数シートを一括印刷マクロ  まとめ

Excelファイルを印刷する際、いちいちファイルを開かなければいけなかったり、シートを選択し忘れたり・・・。意外と手間がかかる上に落とし穴が多いのでマクロにしてみました。

事務仕事で何かと使う機会が多いと思うのでおすすめです。

VBAの基本を学ぶには、MOS(マイクロソフト オフィス スペシャリスト)検定の教科書で有名な、富士通の「よくわかる」シリーズがおすすめです

あわせて読みたい
https://www.keitaiplan.com/excelvba-file-list/