Trong bài viết này, Học Excel Online sẽ hướng dẫn các bạn gửi email một trang tính đơn lẻ trong Excel thông qua Outlook như một tệp đính kèm, nội dung mail hoặc file PDF.
Cách gửi một trang tính như nội dung mail bằng lệnh Send To Mail Recipient.
Excel hỗ trợ chúng ta gửi email một trang tính như nội dung mail bằng lệnh Send to Mail Recipient.
Nếu bạn sử dụng Excel 2007, 2010 hoặc 2013, đầu tiên bạn cần thêm lệnh Send to Mail Recipient vào Quick Access Toolbar.
1. Nhấp vào biểu tượng Customize Quick Access Toolbar, chọn More Commands.
2. Trong hộp thoại Excel Options, chọn Commands Not in the Ribbon trong danh sách tùy chọn Choose Commands from, sau đó chọn Send to Mail Recipient, nhấn nút Add>> để thêm lệnh này, cuối cùng nhấn OK để lưu cài đặt.
3. Lệnh Send to Mail Recipient vừa được chèn vào Quick Access Toolbar.
4. Nhấn biểu tượng Send to Mail Recipient, một hộp thoại hiện lên, trong hộp thoại E-mail, đánh dấu chọn Send the current sheet as the message body, nhấn OK.
5. Một hộp chỉnh sửa nội dụng mail hiển thị trên dữ liệu bảng tính, bạn có thể nhập tên người nhận, tiêu đề và lời giới thiệu vào các ô tương ứng.
6. Nhấn Send this Sheet để gửi trang tính như nội dung mail tới người nhận cụ thể.
Gửi trang tính đơn lẻ như tệp đính kèm từ Excel bằng VBA Code.
1. Kích hoạt trang tính bạn muốn gửi.
2. Nhấn giữ phím Alt + F11, cửa sổ Microsoft Visual Basic for Applications mở ra.
3. Nhấp Insert > Module, dán đoạn mã sau vào Module Window.
Sub SendWorkSheet()
'Update 20131209
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
ActiveSheet.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
If Wb2.HasVBProject Then
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
Else
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
End If
Case Excel8:
xFile = ".xls"
xFormat = Excel8
Case xlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & ""
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
.To = " <span class="cloaked_email">skyyang@extendoffice.com</span>"
.CC = ""
.BCC = ""
.Subject = "kte features"
.Body = "Please check and read this document."
.Attachments.Add Wb2.FullName
.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Application.ScreenUpdating = True
End Sub
Chú ý. Trong đoạn mã trên, bạn có thể thay đổi các thông tin sau theo ý muốn.
- .To = “skyyang@extendoffice.com“
- .CC = “”
- .BCC = “”
- .Subject = “kte features”
- .Body = “Please check and read this document.”
4. Nhấn F5 để chạy mã, một hộp thoại hiện ra, chọn Allow khi thanh tiến trình hoàn tất, sau đó trang tính hiện tại đã được gửi tới người nhận như tệp đính kèm.
Gửi một trang tính riêng lẻ như tệp PDF từ Excel bằng VBA Code
1. Mở trang tính bạn muốn gửi.
2. Nhấn giữ phím Alt + F11, cửa sổ Microsoft Visual Basic for Applications mở ra.
3. Nhấp Insert > Module, dán đoạn mã sau vào Module Window.
SubSendWorkSheetToPDF()
'Update 20131209
DimWb AsWorkbook
DimFileName AsString
DimOutlookApp AsObject
DimOutlookMail AsObject
OnErrorResumeNext
SetWb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
IfxIndex > 1 ThenFileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_"+ ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
SetOutlookApp = CreateObject("Outlook.Application")
SetOutlookMail = OutlookApp.CreateItem(0)
WithOutlookMail
.To= " <span class="cloaked_email">skyyang@extendoffice.com</span>"
.CC = ""
.BCC = ""
.Subject = "kte features"
.Body = "Please check and read this document."
.Attachments.Add FileName
.Send
EndWith
Kill FileName
SetOutlookMail = Nothing
SetOutlookApp = Nothing
EndSub
Chú ý. Trong đoạn mã trên, bạn có thể thay đổi thông tin sau theo ý muốn.
- .To = “skyyang@extendoffice.com“
- .CC = “”
- .BCC = “”
- .Subject = “kte features”
- .Body = “Please check and read this document.”
4. Nhấn F5 để chạy mã, một hộp thoại hiện ra, chọn Allow khi thanh tiến trình hoàn tất, sau đó trang tính hiện tại đã được gửi tới người nhận như tệp PDF.
Chú ý.
1. Các phương pháp này chỉ áp dụng được khi bạn sử dụng Outlook để gửi mail.
2. Sau khi gửi trang tính, bạn có thể đến Outlook để đảm bảo mail đã gửi đi thành công.