CAFE

엑셀,워드,한글

[문-답]]홀수면 혹은 짝수면만 인쇄하기(홀짝 구분인쇄)

작성자물망초|작성시간00.09.05|조회수1,732 목록 댓글 0
홀수면 혹은 짝수면만 인쇄하기(홀짝 구분인쇄)
안녕하세요? 황기성입니다.

아래 한글에서는 홀수면과 짝수면을 구분하여 인쇄하는 기능을 지원하는데, 이 기능은 엑셀 메뉴상에서 지원되질 않습니다. 이 기능을 어떻게 구현하느냐하는 질문이 많습니다. 아래는 바로 이러한 질문에 대한 한 가지 대답입니다.

Option Explicit
'************************************
'홀수쪽 짝수쪽 구분 인쇄를 위한 모듈
'************************************
'만든이 황기성 latinum@nownuri.net
'http://myhome.thrunet.com/~latinum
'http://communities.msn.co.kr/210559
'************************************
'만든날 2000.2.3
'목적 : 엑셀 인쇄메뉴에서 지원하지 않는 홀짝수 인쇄를 VBA를 통해 구현
'함수제목 : 홀짝인쇄
'************************************************************************************
'이 함수는 모두 3가지의 인수를 넘겨받는다
'홀짝 : 사용자로부터 홀수면을 인쇄할 것인지 짝수면을 인쇄할 것인지를 넘겨받는다
'인수는 Byte형으로 사용자가 1을 넘겨주면 홀수, 나머지 숫자는 모두 짝수로 간주한다
'시작쪽과 끝쪽 : 선택적인 인수(정수형)로 인쇄 시작면과 끝면을 사용자가 지정하여 임의의
'쪽범위 내에서만 인쇄할 수 있도록 한다. 사용자가 값을 입력하지 않으면 전체쪽을
'대상으로 인쇄하는 것으로 간주한다.
'만약 사용자가 넘겨준 시작쪽의 인수가 끝쪽의 인수보다 클 경우 자동으로 큰 값이
'마지막쪽의 값, 작은 값은 시작쪽값이 되도록 수정한다
'이 함수는 인쇄에 성공하면 참, 그렇지 못한 경우 거짓값을 반환한다
'*************************************************************************************
Function 홀짝인쇄(ByVal 홀짝 As Byte, _
Optional ByVal 시작쪽 As Integer, _
Optional ByVal 끝쪽 As Integer) As Boolean
Dim 면 As Byte
Dim 전체쪽수
Dim 임시 As Integer
Dim 시작 As Integer
홀짝인쇄 = False
On Error GoTo e1
면 = IIf(홀짝 = 1, 1, 0) '인쇄면 확인
'매크로함수를 통해 전체 인쇄 쪽수 확인
전체쪽수 = Application.ExecuteExcel4Macro("Get.Document(50)")
If 전체쪽수 = 0 Then GoTo e1 '인쇄할 내용이 없을 때 탈출
If 시작쪽 = 0 Then 시작쪽 = 1 '시작쪽 기본값 설정
If 끝쪽 = 0 Then 끝쪽 = 전체쪽수 '끝쪽 기본값 설정
If 시작쪽 > 끝쪽 Then '시작쪽과 끝쪽이 바뀐 경우
임시 = 시작쪽
시작쪽 = 끝쪽
끝쪽 = 임시
End If
If 시작쪽 Mod 2 <> 면 Then '홀짝면 인쇄를 위한 시작쪽 변경
시작쪽 = 시작쪽 + 1
End If
'설정한 쪽수가 인쇄면을 초과할 경우
If 끝쪽 > 전체쪽수 Or 시작쪽 > 전체쪽수 Then MsgBox "현재 시트의 마지막 인쇄쪽은 " & 전체쪽수 & "쪽입니다", vbCritical, "쪽 설정 오류": Exit Function
With ActiveSheet
For 시작 = 시작쪽 To 끝쪽 Step 2
.PrintOut from:=시작, to:=시작 '인쇄
Next 시작
End With
홀짝인쇄 = True
Exit Function
e1:
End Function
Sub 예제()
Dim i As Byte, s As Integer, e As Integer
i = [A1]: s = [B1]: e = [C1]
MsgBox 홀짝인쇄(i, s, e)
End Sub


그럼, 다음에 다시 또!!
다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼