|
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
|
|