엑셀 VBA를 활용하여 급여명세서를 PDF로 자동 저장하려면 ExportAsFixedFormat 메서드를 사용하는 매크로를 작성해야 합니다. 이 기능을 구현하면 매번 수동으로 인쇄 설정을 할 필요 없이 버튼 클릭 한 번으로 지정된 경로에 PDF 파일을 생성할 수 있습니다.
Sub SaveAsPDF()
Dim filePath As String
Dim fileName As String
' PDF 저장 경로 및 파일명 설정 (현재 워크북 경로 기준)
filePath = ThisWorkbook.Path & "\"
fileName = "급여명세서_" & Format(Date, "yyyymmdd") & ".pdf"
' PDF로 저장 실행
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=filePath & fileName, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
MsgBox "PDF 저장이 완료되었습니다: " & fileName, vbInformation
End Sub
IgnorePrintAreas:=False로 설정할 경우, 엑셀 시트에서 미리 설정해 둔 '인쇄 영역'이 PDF 저장 범위가 됩니다. 따라서 매크로 실행 전 시트의 [페이지 레이아웃] 탭에서 인쇄 영역을 정확히 지정해야 합니다.ThisWorkbook.Path는 현재 엑셀 파일이 저장된 폴더를 의미합니다. 특정 폴더에 저장하고 싶다면 "C:\Users\사용자명\Desktop\"과 같이 절대 경로를 직접 입력할 수 있습니다.OpenAfterPublish:=True로 변경하면 PDF 저장 직후 해당 파일이 자동으로 열립니다. 확인이 필요할 때 유용합니다.매크로를 사용하려면 엑셀에서 Alt + F11을 눌러 VBA 편집기를 열고, [삽입] > [모듈]을 선택한 뒤 위 코드를 붙여넣으세요. 이후 엑셀 시트에 도형이나 버튼을 삽입하고 '매크로 지정'을 통해 해당 코드를 연결하면 됩니다.
