|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
- 엑셀 버전(95,97,2000,xp,2003,2007):2019
* 아래줄에 질문을 작성하세요 >>
자체 역순출력기능지원이없는 산업용프린트기로 역순출력을하고싶습니다.
Sub ReversePrint()
'Update 20230330
Dim xPages As Long
xPages = ExecuteExcel4Macro("GET.DOCUMENT(50)")
For xIndex = xPages To 1 Step -1
ActiveWindow.SelectedSheets.PrintOut from:=xIndex, To:=xIndex
''선택된 시트들의 전체페이지수는 나오나 첫번째시트만 인쇄됨.
Next
End Sub
가정:시트이름은 수시로변경됨
시트1:ex)1페이지
시트2:ex)2페이지
시트3:ex)3페이지
시트1 부터 시트3까지 선택 후 매크로 실행 하면
EX)페이지번호1/6 첫번째시트 1장만 인쇄됩니다.
1/6, 2/6, 3/6, 4/6, 5/6, 6/6까지 모두 출력되게하고싶습니다
제발 도와주세요
추가로
Dim sh As Worksheet, iPages As Long, i As Long
Dim vIdx As Variant
ReDim vIdx(1 To ActiveWindow.SelectedSheets.Count)
For Each sh In ActiveWindow.SelectedSheets
i = i + 1
vIdx(i) = sh.Index
Next
For i = UBound(vIdx) To LBound(vIdx) Step -1
Worksheets(vIdx(i)).Activate
iPages = ExecuteExcel4Macro("GET.DOCUMENT(""50"")")
Do While iPages > 0
Worksheets(vIdx(i)).PrintOut iPages, iPages
iPages = iPages - 1
Loop
Next
End Sub
이렇게 실행하면
1/1,1/2,2/2,1/3,2/3,3/3 이렇게 출력됩니다 ㅠㅠ
꼭 1/6, 2/6, 3/6, 4/6, 5/6, 6/6 처럼 선택한시트들의 전페이지수 까지 모두 출력되게하고싶습니다
==============[라이코스님 글에 대한 답변입니다]==============
첨부파일의 aTest코드 참고하시기 바랍니다.... |
|