วิธีการส่ง / อีเมลช่วงเซลล์ผ่าน Outlook จาก Excel
คุณเคยประสบกับปัญหาที่หลังจากเสร็จสิ้นการรายงานในแผ่นงานและคุณต้องส่งไปยังเซลล์ต่างๆในแผ่นงานนี้ซึ่งมีข้อมูลสำคัญบางอย่างไปยังผู้รับเฉพาะของคุณ มีวิธีง่ายๆในการส่งอีเมลจาก Excel โดยไม่ต้องเปิด Outlook หรือไม่?
ส่งช่วงของเซลล์เป็นไฟล์แนบจาก Excel ด้วยรหัส VBA
ส่งช่วงของเซลล์เป็นร่างกายจาก Excel ด้วยรหัส VBA
ส่งช่วงของเซลล์เป็นไฟล์แนบจาก Excel ด้วยรหัส VBA
รหัส VBA ต่อไปนี้สามารถช่วยให้คุณส่งช่วงที่คุณเลือกเป็นไฟล์แนบใน Excel กรุณาทำตามนี้:
1. เปิดสมุดงานของคุณแล้วกดไฟล์ ALT + F11 คีย์เพื่อเปิด หน้าต่าง Microsoft Visual Basic for Applications.
2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ หน้าต่างโมดูล.
รหัส VBA: ส่งช่วงของเซลล์เป็นไฟล์แนบจาก Excel
Sub SendRange()
'Update 20131209
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.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 = "skyyang@extendoffice.com"
.CC = ""
.BCC = ""
.Subject = "information of kte"
.Body = "hello, 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
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
หมายเหตุ: ในโค้ดด้านบนคุณสามารถเปลี่ยนข้อมูลต่อไปนี้ตามความต้องการของคุณเอง
- .ถึง = "skyyang@extendoffice.com"
- .CC = ""
- .BCC = ""
- .ubject = "ข้อมูลของ kte"
- .Body = "สวัสดีโปรดตรวจสอบและอ่านเอกสารนี้"
3. จากนั้นคลิก F5 เพื่อเรียกใช้รหัสนี้และกล่องพร้อมต์จะปรากฏขึ้นเพื่อเตือนให้คุณเลือกช่วงที่คุณต้องการส่ง ดูภาพหน้าจอ:
4. จากนั้นคลิก OKและกล่องพร้อมต์จะปรากฏขึ้นหลังจากเสร็จสิ้นแถบความคืบหน้าให้คลิก อนุญาตจากนั้นช่วงของเซลล์ที่ระบุจะถูกส่งไปยังผู้รับของคุณเป็นไฟล์แนบ
ปลดล็อก Excel Magic ด้วย Kutools AI
- การดำเนินการอย่างชาญฉลาด: ดำเนินการกับเซลล์ วิเคราะห์ข้อมูล และสร้างแผนภูมิ ทั้งหมดนี้ขับเคลื่อนด้วยคำสั่งง่ายๆ
- สูตรที่กำหนดเอง: สร้างสูตรที่ปรับแต่งโดยเฉพาะเพื่อปรับปรุงขั้นตอนการทำงานของคุณ
- การเข้ารหัส VBA: เขียนและใช้งานโค้ด VBA ได้อย่างง่ายดาย
- การตีความสูตร: เข้าใจสูตรที่ซับซ้อนได้อย่างง่ายดาย
- การแปลข้อความ: ทลายกำแพงด้านภาษาภายในสเปรดชีตของคุณ
ส่งช่วงของเซลล์เป็นร่างกายจาก Excel ด้วยรหัส VBA
หากคุณต้องการส่งช่วงที่เฉพาะเจาะจงเป็นส่วนหนึ่งของเนื้อหาข้อความจาก Excel คุณยังสามารถใช้รหัส VBA ต่อไปนี้เพื่อแก้ไขได้
1. เปิดใช้งานแผ่นงานของคุณและกดไฟล์ ALT + F11 คีย์เพื่อเปิด หน้าต่าง Microsoft Visual Basic for Applications.
2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ หน้าต่างโมดูล.
รหัส VBA: ส่งช่วงของเซลล์เป็นร่างกายจาก Excel
Sub EmailRange()
'Update 20131209
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
WorkRng.Select
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "Please read this email."
.Item.To = "skyyang@extendoffice.com"
.Item.Subject = "information of kte"
.Item.Send
End With
Application.ScreenUpdating = True
End Sub
หมายเหตุ ในรหัสด้านบนคุณสามารถเปลี่ยนข้อมูลต่อไปนี้ตามความต้องการของคุณ
- .Introduction = "โปรดอ่านอีเมลนี้"
- .Item.To = "skyyang@extendoffice.com"
- .Item.Subject = "ข้อมูลของ kte"
3. จากนั้นคลิก F5 เพื่อเรียกใช้รหัสนี้และกล่องพร้อมต์จะปรากฏขึ้นเพื่อเตือนให้คุณเลือกช่วงที่คุณต้องการส่ง
4. จากนั้นคลิก OKและกล่องพร้อมต์จะปรากฏขึ้นหลังจากเสร็จสิ้นแถบความคืบหน้าให้คลิก อนุญาตจากนั้นช่วงของเซลล์ที่ระบุจะถูกส่งไปยังผู้รับของคุณเป็นเนื้อหาข้อความ
หมายเหตุ:
1. รหัสเหล่านี้จะใช้ได้เฉพาะเมื่อ Outlook เป็นโปรแกรมเมลของคุณ
2. หลังจากส่งแผ่นงานปัจจุบันคุณสามารถไปที่ Outlook ของคุณเพื่อให้แน่ใจว่าส่งอีเมลสำเร็จหรือไม่
บทความที่เกี่ยวข้อง:
วิธีส่งแผ่นงานผ่าน Outlook จาก Excel เท่านั้น
วิธีส่งสมุดงานปัจจุบันผ่าน Outlook จาก Excel
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...
แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!