Skip to main content

워크시트를 PDF 파일로 저장하고 아웃룩을 통해 첨부파일로 이메일 보내는 방법은 무엇입니까?

Author: Siluvia Last Modified: 2025-08-06

일상적인 업무에서 동료나 고객에게 특정 워크시트를 공유해야 하지만, 파일 형식이 고정되고 안전한 상태를 유지하길 원하는 경우가 자주 있습니다. 아웃룩을 통해 워크시트를 PDF 파일로 보내는 것은 특히 보고서 작성, 송장 발송 또는 수정하기 어려운 최종 데이터를 공유할 때 일반적인 요구 사항입니다. 전통적으로 이 과정은 워크시트를 PDF로 수동 저장하고, 아웃룩을 열어 이메일을 작성하고, PDF를 첨부하여 보내는 방식으로 이루어지며, 이는 번거롭고 시간이 많이 걸립니다. 특히 반복적으로 처리하거나 여러 시트를 다룰 때 더욱 그렇습니다.

이 기사는 Excel에서 바로 워크시트를 PDF로 변환하고 즉시 아웃룩 이메일에 첨부하는 프로세스를 자동화하는 방법을 단계별로 안내합니다. 이로써 상당한 시간을 절약하고 반복적인 수작업을 피할 수 있습니다. VBA 코드 솔루션과 함께 작업 방법, 장점, 적용 시나리오 및 실용적인 팁을 제공합니다.

VBA 코드로 워크시트를 PDF 파일로 저장하고 첨부파일로 이메일 보내기


VBA 코드로 워크시트를 PDF 파일로 저장하고 첨부파일로 이메일 보내기

Excel 워크시트를 PDF 파일로 내보내고 아웃룩을 통해 이메일로 보내는 프로세스를 가속화하기 위해 다음 VBA 코드를 사용할 수 있습니다. 이 접근법은 특별히 Excel에서 바로 개인화된 보고서, 송장 또는 기타 데이터 스냅샷을 자주 보내야 하는 경우 유용하며, 저장 및 이메일 전송 단계를 완전히 자동화합니다.

이 방법을 적용하기 전에 Microsoft Outlook이 설치되어 있고 기본 메일 클라이언트로 설정되어 있는지 확인하세요. 매크로가 Excel 환경에서 활성화된 경우 이 코드가 가장 잘 작동합니다.

1. 저장하고자 하는 워크시트를 연 후 Alt + F11 키를 동시에 눌러 Microsoft Visual Basic for Applications(VBA) 편집기를 실행합니다.

2. VBA 창에서 메뉴로 이동하여 삽입 > 모듈을 클릭합니다. 그러면 새 코드 모듈이 생성됩니다. 그런 다음 다음 VBA 코드를 모듈의 코드 창에 복사하여 붙여넣습니다.  

VBA 코드: 워크시트를 PDF 파일로 저장하고 첨부파일로 이메일 보내기

Sub Saveaspdfandsend()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder As String
Dim xYesorNo As Integer
Dim xOutlookObj As Object
Dim xEmailObj As Object
Dim xUsedRng As Range

Set xSht = ActiveSheet
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)

If xFileDlg.Show = True Then
   xFolder = xFileDlg.SelectedItems(1)
Else
   MsgBox "You must specify a folder to save the PDF into." & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Must Specify Destination Folder"
   Exit Sub
End If
xFolder = xFolder + "\" + xSht.Name + ".pdf"

'Check if file already exist
If Len(Dir(xFolder)) > 0 Then
    xYesorNo = MsgBox(xFolder & " already exists." & vbCrLf & vbCrLf & "Do you want to overwrite it?", _
                      vbYesNo + vbQuestion, "File Exists")
    On Error Resume Next
    If xYesorNo = vbYes Then
        Kill xFolder
    Else
        MsgBox "if you don't overwrite the existing PDF, I can't continue." _
                    & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Exiting Macro"
        Exit Sub
    End If
    If Err.Number <> 0 Then
        MsgBox "Unable to delete existing file.  Please make sure the file is not open or write protected." _
                    & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Unable to Delete File"
        Exit Sub
    End If
End If

Set xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Then
    'Save as PDF file 
    xSht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFolder, Quality:=xlQualityStandard
    
    'Create Outlook email 
    Set xOutlookObj = CreateObject("Outlook.Application")
    Set xEmailObj = xOutlookObj.CreateItem(0)
    With xEmailObj
        .Display
        .To = ""
        .CC = ""
        .Subject = xSht.Name + ".pdf"
        .Attachments.Add xFolder
        If DisplayEmail = False Then
            '.Send
        End If
    End With
Else
  MsgBox "The active worksheet cannot be blank"
  Exit Sub
End If
End Sub

3. 코드를 붙여넣은 후 F5 키를 누르거나 VBA 편집기에서 실행을 클릭하여 매크로를 실행합니다. 폴더 선택 대화 상자가 나타납니다. PDF 파일을 저장할 대상 폴더를 선택한 후 계속 진행하려면 확인을 클릭합니다.

run vba code to select a folder to save this PDF file

참고 및 실용 팁:

1. 매크로는 워크시트와 동일한 이름으로 PDF 파일을 생성하며, 선택한 폴더에 저장됩니다.
2. 활성 워크시트가 비어있는 상태에서 코드를 실행하려고 하면 아래 스크린샷과 같은 경고 대화 상자가 나타납니다. 이렇게 함으로써 실수로 빈 PDF를 저장하고 이메일로 보내는 것을 방지할 수 있습니다. 이를 방지하려면 매크로를 실행하기 전에 워크시트에 내용이 있는지 확인하세요.

If the active worksheet is blank,a warning prompt box is popped out

4. 프로세스가 완료되면 새로운 아웃룩 이메일 창이 생성되며, PDF 파일이 첨부됩니다. 제목 줄에는 워크시트 이름이 ".pdf"로 끝나는 형태로 미리 채워져 있으며, 이메일 내용을 편집하고 수신자를 추가한 후 필요에 따라 보내면 됩니다. 이는 수작업 첨부보다 오류를 줄이고 효율성을 증가시킵니다.

a new Outlook email is created with the PDF file as an attachment

참고: 매크로는 Microsoft Outlook이 설치되어 있고 기본 메일 클라이언트로 설정된 경우에만 작동합니다. 다른 이메일 프로그램을 사용하면 이 솔루션이 적용되지 않을 수 있습니다.

이 VBA 기반 접근법은 정기적으로 최종 워크시트를 PDF 첨부파일로 배포해야 할 때 가장 효율적이며, 반복적인 수작업을 최소화합니다. 한계는 아웃룩에 대한 의존성, 여러 시트를 한꺼번에 처리하지 못하는 점, 그리고 매크로를 활성화해야 한다는 것입니다. 더 복잡한 워크플로우(예: 여러 워크시트를 한 번에 보내거나 추가 자동화)에는 Excel 추가 기능이나 내장 기능을 사용하는 것을 고려해보세요.

대안 솔루션: VBA 매크로가 환경에 적합하지 않거나 매크로가 제한된 경우, Excel의 내장 내보내기 또는 다른 이름으로 저장 기능을 사용하여 워크시트를 PDF로 저장한 후 아웃룩에서 첨부하여 보내면 됩니다. 이 방법은 더 많은 단계를 요구하지만 특별한 권한이나 스크립팅 지식 없이도 언제나 사용 가능합니다.


워크시트 하나 또는 여러 개를 한 번에 각각의 PDF 파일로 쉽게 저장하기:

Kutools for Excel분할 통합 문서 유틸리티를 사용하면 아래 데모와 같이 워크시트 하나 또는 여러 개를 한 번에 각각의 PDF 파일로 쉽게 저장할 수 있습니다. 지금 다운로드하고 무료로 시도해 보세요! (30-day 무료 체험)

save multiple worksheets as separate PDF files by kutools


관련 기사:

최고의 오피스 생산성 도구

🤖 Kutools AI Aide: 지능형 실행을 기반으로 데이터 분석 혁신 지능형 실행   |  코드 생성  |  사용자 정의 수식 생성  |  데이터 분석 및 차트 생성  |  Kutools Functions 호출
인기 기능: 중복 찾기, 강조 또는 중복 표시  |  빈 행 삭제  |  데이터 손실 없이 열 또는 셀 병합  |  반올림...
슈퍼 LOOKUP: 다중 조건 VLookup    다중 값 VLookup  |   다중 시트 조회   |   퍼지 매치 ....
고급 드롭다운 목록: 드롭다운 목록 신속 생성  |  의존형 드롭다운 목록  |  다중 선택 드롭다운 목록....
열 매니저: 지정 개수 열 추가  |  열 이동  |  숨겨진 열 표시 상태 전환 |  범위 및 열 비교 ...
주요 기능: 그리드 포커스  |  디자인 보기  |  향상된 수식 표시줄   통합 문서 & 시트 관리   |  자동 텍스트 라이브러리   |  날짜 선택기   |  데이터 병합   |  셀 암호화/해독   목록별 이메일 보내기  |  슈퍼 필터  |  특수 필터 (굵게/이탤릭/취소선 필터...)...
Top15 도구 세트12개 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...)  |  50+ 차트 유형(간트 차트, ...)  |  40+ 실용 수식(생일을 기반으로 나이 계산, ...)  |  19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...)  |  12개 변환 도구(단어로 변환하기, 통화 변환, ...)  |  7개 병합 & 분할 도구(고급 행 병합, 셀 분할, ...)  |  ... 그리고 그 외
Kutools를 원하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 등40가지 이상의 언어를 지원합니다!

Kutools for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...


Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다

  • Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
  • 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
  • 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!