이전 글에서 엑셀 워크시트의 셀에 입력 제한을 두어 입력할 수 있는 셀을 지정하는 속성 ScrollArea에 대해 알아보았습니다. 이번에는 엑셀 VBA 코딩으로 지정한 워크시트의 내용을 프린트하는데 유용한 메서드 PrintOut에 대해 알아보겠습니다.
엑셀 VBA 일부 범위만 입력 가능토록 설정하는 속성 - ScrollArea
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
위의 코드를 실행하면 인쇄 미리 보기 창이 뜨며 인쇄 버튼을 클릭하면 인쇄가 가능합니다.
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
'엑셀 > VBA' 카테고리의 다른 글
엑셀 VBA PageSetup 속성에 대해 알아보기 (0) | 2021.12.28 |
---|---|
엑셀 VBA 인쇄시 머리글 및 바닥글 설정하기 속성 - PageSetup (0) | 2021.12.27 |
엑셀 VBA 일부 범위만 입력 가능토록 설정하는 속성 - ScrollArea (0) | 2021.12.24 |
엑셀 VBA 시트에 입력된 수식 모두 숨기는 속성 - FormulaHidden (0) | 2021.12.23 |
엑셀 VBA 사용된 전체 셀 범위 확인하는 속성 - UsedRange (0) | 2021.12.23 |