본문 바로가기

엑셀/VBA

엑셀 VBA 인쇄시 머리글 및 바닥글 설정하기 속성 - PageSetup

반응형

이전 글에서 워크시트 인쇄할 때 사용하는 PrintOut 메서드에 대해 알아보았습니다. 이번에는 엑셀에서 워크시트를 인쇄할 때 페이지 설정을 통해 머리글 및 바닥글을 설정하는데 이를 VBA로는 어떻게 하는지에 대해 알아보겠습니다.

 

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

 

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

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

mr-johndoe.tistory.com

 

 

 

 

 

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"

: 활성화된 워크시트를 출력하면서 바닥글 오른쪽 구역에 현재 페이지/전체 페이지가 출력됩니다. 

 

반응형