PrintOut 메서드를 이용해서
ActiveSheet.PrintOut to:=1, ActivePrinter:="Microsoft Print to PDF"
라고 매크로를 작성할 수도 있지만
ExportAsFixedFormat 메서드를 이용해 PDF 파일 포맷으로 저장할 수 있습니다.
1. 구문
expression.ExportAsFixedFormat (Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr)
expression은 Worksheet 또는 Workbook가 될 수 있습니다.
인수는 아래와 같습니다.
인수 명 | 필수/선택 | 데이터 형식 | 설명 |
Type | 필수 | xlFixedFormatType | xlTypePDF 또는 xlTypeXPS |
FileName | 선택 | Variant | 저장할 파일명으로 full path를 지정할 수도 있고, 현재 폴더에 저장한다면 파일명만 지정 |
Quality | 선택 | Variant | xlQualityStandard 또는 xlQualityMinimum. |
IncludeDocProperties | 선택 | Variant | 문서의 속성을 포함하려면 True, 아니면 False |
IgnorePrintAreas | 선택 | Variant | 설정된 인쇄 영역을 무시하려면 True, 설정된 인쇄 영역을 사용하려면 ,False |
From | 선택 | Variant | 인쇄를 시작할 페이지 수 |
To | 선택 | Variant | 인쇄할 마지막 페이지 수 |
OpenAfterPublish | 선택 | Variant | True면 인쇄를 완료한 후 뷰어에 파일을 표시, False면 표시하지 않음 |
FixedFormatExtClassPtr | 선택 | Variant | FixedFormatExt class에 대한 포인터 |
2. PDF 파일로 저장하기
표준 품질로 land.pdf 파일에 저장하고, 저장한 후 뷰어에서 pdf파일을 보여주는 코드입니다.
Sub export_to_pdf()
' ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:="land.pdf", Quality:=xlQualityStandard, OpenAfterPublish:=True
ActiveWorkbook.ExportAsFixedFormat xlTypePDF, "land.pdf", xlQualityStandard, , , , , True
End Sub
위와 같이 :=을 사용해서 type과 값을 지정할 수 있고,
인수의 위치에 맞춰서 인수의 값을 입력한다고 하면 순서대로 값을 아래와 같이 입력하면 됩니다.
ActiveWorkbook.ExportAsFixedFormat xlTypePDF, "land.pdf", xlQualityStandard, , , , , True
네 번째부터 일곱 번째까지 인수를 생략하고, 여덟 번째 인수인 OpenAfterPublish에 대한 값을 True로 지정했습니다.
매크로 실행 후 land.pdf파일이 Adobe Acrobat Reader에서 열린 모습니다.
3. XPS 파일 뷰어 설치
가. XPS 파일이란?
XPS(XML Paper Specification) 파일은 Microsoft에서 Adobe사의 PDF 파일 포맷에 대응하기 위해 만든 파일 형식이라고 합니다.
나. XPS 뷰어 설치하기
XPS 뷰어는 기본적으로 설치되어 있지 않으므로
윈도우 버튼> 설정 > 앱 아래 '선택적 기능' 클릭한 다음
나오는 화면에서 '기능 보기'버튼을 누르면 선택적 기능 추가 화면이 나오는데, 여기서 xps라고 입력한 후 XPS 뷰어를 선택하고, 다음 버튼을 누른 후 설치버튼을 누릅니다.
그러면 XPS 뷰어가 설치가 되는데, 사이즈에 비해 오래 걸립니다.
4. XPS 파일 작성 매크로
아래는 "land.xps란 이름으로 XPS 파일을 만들고, 인쇄 후 뷰어에서 열라"는 매크로입니다.
Sub export_to_xps()
' ActiveWorkbook.ExportAsFixedFormat Type:=xlTypeXPS, Filename:="land.xps", Quality:=xlQualityStandard, OpenAfterPublish:=True
ActiveSheet.ExportAsFixedFormat xlTypeXPS, "land.xps", xlQualityStandard, , , , , True
End Sub
위 매크로를 실행하면 아래와 같이 land.xps 파일이 XPS 뷰어에서 열립니다.
'EXCEL - VBA' 카테고리의 다른 글
매크로 - 범위가 아닌 배열로 처리하기 (0) | 2023.09.04 |
---|---|
매크로 - 범위로 처리하기 (0) | 2023.09.03 |
인쇄관련 PageSetup(페이지 설정) VBA (0) | 2023.08.23 |
엑셀 파일 인쇄 하기(PrintOut Method) (0) | 2023.08.22 |
엑셀 VBA에서의 주석 처리 (0) | 2023.08.03 |