|
あー・・どーも。本山 祐二さんすいませんでした。
りんさんフォロー有難うございます。
>・表紙シートには、罫線や写真があります。
>・別紙シートには、数字と罫線があります。
ということですと、やはりブックを一つずつ開いて印刷する、
というやり方しかありませんね。
先のマクロを、以下のように変更して下さい。
Sub MyData_Print2()
Dim MyR As Range, C As Range
Dim MyF As String
With Sheets("Sheet1")
Set MyR = .Range("A1", .Range("A65536").End(xlUp))
End With
On Error GoTo ELine
With Application
.EnableCancelKey = xlErrorHandler
.ScreenUpdating = False
End With
For Each C In MyR
MyF = ThisWorkbook.Path & "\" & C.Value
If Dir(MyF) <> "" Then
Workbooks.Open MyF
With ActiveWorkbook
.Sheets("表紙").PrintOut Copies:=1
.Sheets("別紙").PrintOut Copies:=1
.Close False
End With
Else
Debug.Print C.Value & " = 存在しない"
End If
Next
ELine:
Application.ScreenUpdating = True
Set MyR = Nothing
If Err.Number = 0 Then
MsgBox "全ての印刷を終了しました" & vbLf & _
"存在しないブックはイミディエイトウィンドウで確認できます"
ElseIf Err.Number = 18 Then
MsgBox "ユーザーの操作によってマクロを中止します"
Else
MsgBox "予期しないエラー発生 ! マクロを中止します" & _
vbLf & Err.Number & vbLf & Err.Description
End If
End Sub
|
|