| 
    
     |  | kein様 りん様
 
 お忙しい中
 ありがとうございました。
 
 うまく印刷できました。
 (VBAすばらしい)
 
 今後ともよろしくお願いいたします。
 
 ▼Kein さん:
 >あー・・どーも。本山 祐二さんすいませんでした。
 >りんさんフォロー有難うございます。
 >>・表紙シートには、罫線や写真があります。
 >>・別紙シートには、数字と罫線があります。
 >ということですと、やはりブックを一つずつ開いて印刷する、
 >というやり方しかありませんね。
 >先のマクロを、以下のように変更して下さい。
 >
 >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
 
 
 |  |