워크시트를 PDF 파일로 저장하고 아웃룩을 통해 첨부파일로 이메일 보내는 방법은 무엇입니까?
일상적인 업무에서 동료나 고객에게 특정 워크시트를 공유해야 하지만, 파일 형식이 고정되고 안전한 상태를 유지하길 원하는 경우가 자주 있습니다. 아웃룩을 통해 워크시트를 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 파일을 저장할 대상 폴더를 선택한 후 계속 진행하려면 확인을 클릭합니다.
참고 및 실용 팁:
4. 프로세스가 완료되면 새로운 아웃룩 이메일 창이 생성되며, PDF 파일이 첨부됩니다. 제목 줄에는 워크시트 이름이 ".pdf"로 끝나는 형태로 미리 채워져 있으며, 이메일 내용을 편집하고 수신자를 추가한 후 필요에 따라 보내면 됩니다. 이는 수작업 첨부보다 오류를 줄이고 효율성을 증가시킵니다.
이 VBA 기반 접근법은 정기적으로 최종 워크시트를 PDF 첨부파일로 배포해야 할 때 가장 효율적이며, 반복적인 수작업을 최소화합니다. 한계는 아웃룩에 대한 의존성, 여러 시트를 한꺼번에 처리하지 못하는 점, 그리고 매크로를 활성화해야 한다는 것입니다. 더 복잡한 워크플로우(예: 여러 워크시트를 한 번에 보내거나 추가 자동화)에는 Excel 추가 기능이나 내장 기능을 사용하는 것을 고려해보세요.
대안 솔루션: VBA 매크로가 환경에 적합하지 않거나 매크로가 제한된 경우, Excel의 내장 내보내기 또는 다른 이름으로 저장 기능을 사용하여 워크시트를 PDF로 저장한 후 아웃룩에서 첨부하여 보내면 됩니다. 이 방법은 더 많은 단계를 요구하지만 특별한 권한이나 스크립팅 지식 없이도 언제나 사용 가능합니다.
워크시트 하나 또는 여러 개를 한 번에 각각의 PDF 파일로 쉽게 저장하기:
Kutools for Excel의 분할 통합 문서 유틸리티를 사용하면 아래 데모와 같이 워크시트 하나 또는 여러 개를 한 번에 각각의 PDF 파일로 쉽게 저장할 수 있습니다. 지금 다운로드하고 무료로 시도해 보세요! (30-day 무료 체험)
관련 기사:
- 엑셀 파일명에 타임스탬프를 어떻게 저장합니까?
- Excel에서 기존 파일을 자동으로 덮어쓰기 위해 Save As 기능을 어떻게 사용합니까?
- Excel에서 여러 시트/모든 시트를 별도의 CSV 또는 텍스트 파일로 저장/내보내는 방법은 무엇입니까?
- Excel에서 저장 및 Save As 옵션을 비활성화하거나 허용하지 않으려면 어떻게 합니까?
- Excel에서 통합 문서 저장을 비활성화하고 Save As만 허용하려면 어떻게 합니까?
최고의 오피스 생산성 도구
🤖 | Kutools AI Aide: 지능형 실행을 기반으로 데이터 분석 혁신 지능형 실행 | 코드 생성 | 사용자 정의 수식 생성 | 데이터 분석 및 차트 생성 | Kutools Functions 호출… |
인기 기능: 중복 찾기, 강조 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 또는 셀 병합 | 반올림... | |
슈퍼 LOOKUP: 다중 조건 VLookup | 다중 값 VLookup | 다중 시트 조회 | 퍼지 매치 .... | |
고급 드롭다운 목록: 드롭다운 목록 신속 생성 | 의존형 드롭다운 목록 | 다중 선택 드롭다운 목록.... | |
열 매니저: 지정 개수 열 추가 | 열 이동 | 숨겨진 열 표시 상태 전환 | 범위 및 열 비교 ... | |
주요 기능: 그리드 포커스 | 디자인 보기 | 향상된 수식 표시줄 | 통합 문서 & 시트 관리 | 자동 텍스트 라이브러리 | 날짜 선택기 | 데이터 병합 | 셀 암호화/해독 | 목록별 이메일 보내기 | 슈퍼 필터 | 특수 필터 (굵게/이탤릭/취소선 필터...)... | |
Top15 도구 세트: 12개 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...) | 50+ 차트 유형(간트 차트, ...) | 40+ 실용 수식(생일을 기반으로 나이 계산, ...) | 19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...) | 12개 변환 도구(단어로 변환하기, 통화 변환, ...) | 7개 병합 & 분할 도구(고급 행 병합, 셀 분할, ...) | ... 그리고 그 외 |
Kutools for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...
Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다
- Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
- 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
- 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!