이전 글에서 워크시트 인쇄할 때 사용하는 PrintOut 메서드에 대해 알아보았습니다. 이번에는 엑셀에서 워크시트를 인쇄할 때 페이지 설정을 통해 머리글 및 바닥글을 설정하는데 이를 VBA로는 어떻게 하는지에 대해 알아보겠습니다.
엑셀 VBA 워크시트 인쇄하기 메서드 - PrintOut
1. PageSetup 속성
엑셀에서 Ctrl + P 키를 누르시면 인쇄창이 열립니다. 인쇄창에서 아래쪽에 파란색 글씨로 페이지 설정이라고 쓰여있는 곳을 마우스로 클릭하시면 페이지 설정창이 뜹니다. 이 창에서 인쇄 페이지 설정을 할 수 있는데 그중에서 머리글/바닥글 탭을 클릭하시면 머리글과 바닥글을 편집할 수 있습니다.
엑셀의 이 머리글/바닥글 편집을 VBA로 코딩하여 사용할 때 PageSetup을 이용합니다.
PageSetup의 속성 중 머리글 및 바닥글 속성은 다음과 같습니다.
속 성 | 설 명 |
LeftHeader | 머리글 왼쪽 구역 |
CenterHeader | 머리글 가운데 구역 |
RightHeader | 머리글 오른쪽 구역 |
LeftFooter | 바닥글 왼쪽 구역 |
CenterFooter | 바닥글 가운데 구역 |
RightFooter | 바닥글 오른쪽 구역 |
사용 방법은 다음과 같습니다.
Worksheets.PageSetup.속성 = 내용
내용에는 표시하고자 하는 글을 큰따옴표안에 입력하시면 됩니다. 내용을 입력하실 때 서식을 지정하실 수도 있습니다. 이 서식에 대해 정리해 보았습니다.
서 식 | 설 명 |
&F | 현재 파일명 반환 |
&A | 현재 시트명 반환 |
&D | 오늘 날짜 반환 |
&T | 현재 시간 반환 |
&P | 현재 페이지 번호 반환 |
&N | 전체 페이지 번호 반환 |
&& | & 문자 반환 |
2. 예제로 확인
엑셀에서 VBE 창을 열고 모듈을 하나 생성합니다. 그리고, 다음과 같이 코드창에 코드를 입력합니다.
Public Sub Pg_Set()
ActiveSheet.PageSetup.CenterHeader = "가계부"
ActiveSheet.PageSetup.RightHeader = "&D"
ActiveSheet.PageSetup.CenterFooter = "&A"
ActiveSheet.PageSetup.RightFooter = "&P" & "/" & "&N"
End Sub
ActiveSheet.PageSetup.CenterHeader = "가계부"
: 활성화된 워크시트를 출력하면서 머리글 가운데 구역에 가계부가 출력됩니다.
ActiveSheet.PageSetup.RightHeader = "&D"
: 활성화된 워크시트를 출력하면서 머리글 오른쪽 구역에 오늘 날짜가 출력됩니다.
ActiveSheet.PageSetup.CenterFooter = "&A"
: 활성화된 워크시트를 출력하면서 바닥글 가운데 구역에 시트명을 출력합니다.
ActiveSheet.PageSetup.RightFooter = "&P" & "/" & "&N"
: 활성화된 워크시트를 출력하면서 바닥글 오른쪽 구역에 현재 페이지/전체 페이지가 출력됩니다.
'엑셀 > VBA' 카테고리의 다른 글
엑셀 VBA 파일 열기 메서드 - Open (0) | 2021.12.29 |
---|---|
엑셀 VBA PageSetup 속성에 대해 알아보기 (0) | 2021.12.28 |
엑셀 VBA 워크시트 인쇄하기 메서드 - PrintOut (0) | 2021.12.24 |
엑셀 VBA 일부 범위만 입력 가능토록 설정하는 속성 - ScrollArea (0) | 2021.12.24 |
엑셀 VBA 시트에 입력된 수식 모두 숨기는 속성 - FormulaHidden (0) | 2021.12.23 |