본문 바로가기

엑셀/VBA

엑셀 VBA 워크시트 인쇄하기 메서드 - PrintOut

반응형

이전 글에서 엑셀 워크시트의 셀에 입력 제한을 두어 입력할 수 있는 셀을 지정하는 속성 ScrollArea에 대해 알아보았습니다. 이번에는 엑셀 VBA 코딩으로 지정한 워크시트의 내용을 프린트하는데 유용한 메서드 PrintOut에 대해 알아보겠습니다.

 

엑셀 VBA 일부 범위만 입력 가능토록 설정하는 속성 - ScrollArea

 

엑셀 VBA 일부 범위만 입력 가능토록 설정하는 속성 - ScrollArea

이전 글에서 수식이 입력된 셀의 수식을 보이지 않게 숨기는 기능의 속성인 FormulaHidden에 대해 알아보았습니다. 이번에는 워크시트의 일부만 입력 가능토록 설정하고 나머지 범위는 일기 전용으

mr-johndoe.tistory.com

 

 

 

 

 

 

1. PrintOut 메서드

  PrintOut 메서드는 워크시트에 입력된 내용을 인쇄할 때 사용하는 메서드입니다.

사용 방법은 다음과 같습니다.

 

   Worksheets.PrintOut (From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName, IgnorePrintAreas)

 

괄호 안에 있는 옵션에 대한 설명은 다음과 같습니다.

From 인쇄 시작 페이지 번호 (생략시 1페이지부터 인쇄)
To 인쇄 마지막 페이지 번호 (생략시 마지막 페이지까지 인쇄)
Copies 인쇄 매수 (생략시 1부 인쇄)
Preview 미리보기 화면 표시 여부 (True인 경우 인쇄전 미리보기 창을 표시)
ActivePrinter 인쇄할 프린터 선택 (생략시 기본 프린터로 인쇄)
PrintToFile 파일로 인쇄 여부 (True인 경우 파일로 인쇄)
Collate 여러 페이지를 인쇄할 때 True인 경우 내용을 모두 인쇄하고 다음 첫페이지부터 인쇄하여 지정한 인쇄 매수만큼 인쇄
PrToFileName 저장할 파일 이름 설정
IgnorePrintAreas True인 경우 인쇄 영역을 무시하고 전체 페이지 인쇄

 

또한, 여러 워크시트를 인쇄할 경우에는 다음과 같이 사용합니다.

 

  Worksheets(Array("sheet1", "sheet2", ..., "sheetn")).PrintOut

 

괄호 안에 인쇄하고자 하는 워크시트 이름을 큰따옴표 안에 입력하고 콤마로 구분하여 작성합니다.

 

2. PrintPreview 메서드

  PrintPreview 메서드는 인쇄 시 미리 보기에 대한 설정 메서드입니다.

사용 방법은 다음과 같습니다.

 

   Worksheets.PrintPreview (EnableChanges)

 

EnableChanges 옵션은 미리보기에서 페이지 설정 옵션을 가능하게 할지를 결정합니다. True이면 페이지 설정 옵션으로 설정이 가능합니다.

 

 

 

 

3. 예제로 확인

  이전 글에서 예제로 사용한 학생명부를 인쇄하는 코드로 PrintOut 메서드에 대해 확인하여 보겠습니다.

엑셀 시트에 ActiveX 버튼 하나를 생성하고 Caption에 '인쇄'라고 입력합니다. 생성한 버튼을 마우스 왼쪽 버튼으로 더블클릭하여 코드 창을 열고 다음 코드를 입력합니다.

 

   Private Sub Button_Print_Click()

      Worksheets("학생명부").PrintOut from:=1, to:=1, copies:=1, Preview:=True

   End Sub

 

Worksheets("학생명부").PrintOut from:=1, to:=1, copies:=1, Preview:=True

: 학생명부 워크시트 내용을 1페이지부터 1페이지 즉, 1페이지만 인쇄하라고 옵션을 지정하였고, 인쇄 매수는 1부 그리고, 미리 보기 창을 열도록 지정하였습니다.

 

위의 코드를 실행하면 인쇄 미리보기 창이 뜹니다. 인쇄를 원하시면 인쇄 버튼을 클릭하시면 됩니다.

 

다음과 같이 PrintPreview 메서드를 이용하여 인쇄 미리보기를 실행하여 인쇄할 수 있습니다.

 

   Private Sub Button_Print_Click()

      Worksheets("학생명부").PrintPreview EnableChanges:=True

   End Sub

 

위의 코드를 실행하면 인쇄 미리 보기 창이 뜨며 인쇄 버튼을 클릭하면 인쇄가 가능합니다.

 

 

 

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

반응형