毎日毎日ある一定タイミングで台帳印刷を行う必要があったので作った。
タスクスケジューラに登録して使う。
今まで5~10分位かかってたけど、導入してからは10秒位で終わるようになった。
このまま全部コピペして、workbook_Openイベントに書けば動く。
Option Explicit '************************************************************************************************************************** '★タイトル:「全てのシートを印刷するマクロ」 ' 作成者:hamada Private Sub Workbook_Open() '0.定義&初期化 Dim a As String Dim b As String Dim c As Integer Dim msg As Long Dim msg1 As Long Dim shName() As String Dim shName1 As String b = ThisWorkbook.Name c = Worksheets.Count shName1 = "" ReDim shName(c) As String For c = 1 To c shName(c) = Worksheets(c).Name shName1 = shName1 & "「" & shName(c) & "」" Next '1.ダイアログを出して印刷させる処理 msg = MsgBox("ファイル名:" & b & vbCrLf & "シート:" & shName1 & vbCrLf & vbCrLf & "を印刷します。よろしいですか?", vbYesNo + vbDefaultButton2 + vbQuestion) If msg = vbYes Then Worksheets.Select Application.Dialogs(xlDialogPrint).Show msg1 = MsgBox("印刷が終了しました。このまま保存せずに閉じますか?", vbYesNo + vbDefaultButton2 + vbQuestion) If msg1 = vbYes Then If Workbooks.Count = 1 Then Application.Quit ThisWorkbook.Close savechanges:=False Else Application.DisplayAlerts = False ThisWorkbook.Close Application.DisplayAlerts = True End If Else Worksheets(1).Select End If Else End If End Sub