การใช้สคริปต์ VBA ใน Excel ไม่จำเป็นต้องมีความรู้ด้านการเขียนโปรแกรม VBA ช่วยให้คุณสามารถทำงานขั้นสูงมากมายเช่นการสร้างรายงานสเปรดชีตที่มีข้อมูลพีซีของคุณทั้งหมดส่งอีเมลโดยตรงจากสเปรดชีต ...
ในการส่งอีเมลจากMicrosoft Excelต้องใช้สคริปต์ง่ายๆเพียงไม่กี่ขั้นตอน อย่ากลัวที่จะเพิ่มคุณสมบัตินี้ลงในสเปรดชีตของคุณหากคุณต้องการใช้ประโยชน์จากฟังก์ชันการทำงานของซอฟต์แวร์สำนักงาน Excel ของคุณจริงๆ
ส่งอีเมลจาก Excel
มีสาเหตุหลายประการที่คุณอาจต้องการส่งอีเมลจาก Microsoft Excel โดยตรง ตัวอย่าง: พนักงานของคุณอัปเดตเอกสารและสเปรดชีตทุกสัปดาห์และคุณต้องการรับการแจ้งเตือนทางอีเมลเมื่อการดำเนินการเสร็จสิ้นหรือบางครั้งคุณต้องการส่งอีเมลถึงผู้ติดต่อทั้งหมดในสเปรดชีตเดียวกัน ที่…
คุณอาจคิดว่าการใช้สคริปต์ในการส่งอีเมลจาก Excel นั้นซับซ้อน แต่ความจริงแล้วมันง่ายมาก บทความนี้จะแนะนำให้คุณใช้ประโยชน์จากคุณลักษณะที่มีมานานแล้วพร้อมใช้งานใน Excel VBA ที่เรียกว่าการทำงานร่วมกันข้อมูลวัตถุ (CDO)

CDO เป็นส่วนประกอบการส่งข้อความที่ใช้ใน Windows ตั้งแต่รุ่นแรก ๆ เคยเรียกว่า CDONTS หลังจาก Windows 2000 และ XP ออกมา "CDO สำหรับ Windows 2000" ก็เข้ามาแทนที่ ส่วนประกอบนี้รวมอยู่ในการติดตั้ง VBA ในMicrosoft Wordหรือ Excel และพร้อมใช้งานได้ตลอดเวลา
การใช้ส่วนประกอบนี้เพื่อส่งอีเมลในผลิตภัณฑ์ Windows ด้วย VBA นั้นง่ายมาก ตัวอย่างบทความนี้ใช้ CDO ใน Excel เพื่อส่งอีเมลที่มีผลลัพธ์ในเซลล์
ขั้นตอนที่ 1: สร้าง VBA Macro
ครั้งแรกไปที่Excel สำหรับนักพัฒนาแท็บ> คลิกแทรกในการควบคุมแผงแล้วเลือกปุ่มคำสั่ง

ลากลงในแผ่นงานนี้จากนั้นสร้างแมโครใหม่โดยคลิกแมโครในริบบิ้นสำหรับนักพัฒนา

เมื่อคุณคลิกปุ่มสร้างมันจะเปิดตัวแก้ไข VBA
เพิ่มการอ้างอิงไปยังไลบรารี CDO โดยไปที่Tools> Referencesในเอดิเตอร์

เลื่อนลงรายการจนกว่าคุณจะเห็นMicrosoft CDO สำหรับ Windows 2000 ห้องสมุด ตรวจสอบช่องทำเครื่องหมายและคลิกตกลง

เมื่อคุณคลิกตกลงจดชื่อของฟังก์ชันที่คุณวางสคริปต์ตามที่คุณต้องการในภายหลัง
ขั้นตอนที่ 2: ตั้งค่าช่อง CDO "จาก" และ "ถึง"
ในการดำเนินการขั้นแรกคุณต้องสร้างออบเจ็กต์ที่เกี่ยวข้องกับอีเมลและตั้งค่าฟิลด์การส่งอีเมลที่จำเป็นทั้งหมด
โปรดจำไว้ว่าอาจมีหลายช่องหรือไม่มีก็ได้ แต่ต้องใช้จากและถึง
Dim CDO_Mail As Object
Dim CDO_Config As Object
Dim SMTP_Config As Variant
Dim strSubject As String
Dim strFrom As String
Dim strTo As String
Dim strCc As String
Dim strBcc As String
Dim strBody As String
strSubject = "ผลลัพธ์จากสเปรดชีต Excel"
strFrom = "[email protected]"
strTo = "[email protected]"
strCc = ""
strBcc = ""
strBody = "ผลรวมสำหรับไตรมาสนี้คือ:" & Str (Sheet1 . เซลล์ (2, 1))
สิ่งที่น่าสนใจคือคุณสามารถสร้างสตริงที่ต้องการเพื่อปรับแต่งข้อความอีเมลทั้งหมดและกำหนดตัวแปร strBody
ผสานองค์ประกอบของเนื้อหาอีเมลเข้าด้วยกันโดยใช้สตริง&เพื่อแทรกข้อมูลจากสเปรดชีต Microsoft Excel ในอีเมล (ดังที่แสดงด้านบน)
ขั้นตอนที่ 3: กำหนดค่า CDO เพื่อใช้ SMTP ภายนอก
ส่วนถัดไปของโค้ดคือที่ที่คุณกำหนดค่า CDO เพื่อใช้เซิร์ฟเวอร์ SMTP ภายนอกเพื่อส่งอีเมล
ตัวอย่างนี้ไม่ได้ตั้งค่า SSL บน Gmail CDO สามารถแทนที่ SSL ได้ แต่อยู่นอกขอบเขตของบทความนี้ หากคุณจำเป็นต้องใช้ SSL โค้ดขั้นสูงใน Github สามารถช่วยได้
ตั้งค่า CDO_Mail = CreateObject ("CDO.Message")
บนข้อผิดพลาด GoTo Error_Handling
ตั้งค่า CDO_Config = CreateObject ("CDO.Configuration")
CDO_Config.Load -1
ตั้งค่า SMTP_Config = CDO_Config.Fields
ด้วย SMTP_Config .Item
("http://schemas.microsoft.com/cdo/configuration/sendusing") =
2.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp. gmail.com "
.Item (" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ") = 1
.Item (" http://schemas.microsoft.com/cdo/configuration/sendusername ") =" [email protected] ".Item
(" http://schemas.microsoft.com/cdo/configuration/sendpassword ") =" รหัสผ่าน "
.Item (" http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 25
.Item (" http://schemas.microsoft.com/cdo/configuration/smtpusessl ") = True.
Update
End With
ด้วย CDO_Mail
Set .Configuration = CDO_Config
End With
ขั้นตอนที่ 4: ตั้งค่า CDO ให้เสร็จสมบูรณ์
ตอนนี้คุณได้กำหนดค่าการเชื่อมต่อกับเซิร์ฟเวอร์ SMTP เพื่อส่งอีเมล ทั้งหมดที่คุณต้องทำคือการกรอกข้อมูลลงในช่องที่เหมาะสมสำหรับวัตถุ CDO_Mailและออกส่งคำสั่ง
วิธีการทำมีดังนี้
CDO_Mail.Subject = strSubject
CDO_Mail.From = strFrom CDO_Mail
To = strTo
CDO_Mail.TextBody = strBody
CDO_Mail.CC = strCc
CDO_Mail.BCC = strBcc
CDO_Mail.Send
Error_Handling:
ถ้า Err.Description <> "" แล้ว MsgBox Err.Description
ไม่มีป๊อปอัปหรือการแจ้งเตือนความปลอดภัยปรากฏขึ้นเหมือนที่คุณทำตามปกติเมื่อใช้ออบเจ็กต์อีเมล Outlook
CDO เพียงวางส่วนประกอบอีเมลไว้เคียงข้างกันและใช้รายละเอียดการเชื่อมต่อเซิร์ฟเวอร์เพื่อทริกเกอร์การส่งข้อมูล นี่เป็นวิธีที่ง่ายที่สุดในการรวมอีเมลไว้ในสคริปต์ Microsoft Word หรือ Excel VBA
ในการเชื่อมต่อปุ่มคำสั่งกับสคริปต์นี้ให้เข้าไปที่ตัวแก้ไขโค้ดและคลิกSheet1เพื่อดูรหัส VBA ของแผ่นงานนั้น
พิมพ์ชื่อฟังก์ชันที่คุณวางสคริปต์ด้านบน

นี่คือข้อมูลที่คุณได้รับในกล่องจดหมาย

หมายเหตุ : หากคุณได้รับข้อผิดพลาดขนส่งล้มเหลวในการเชื่อมต่อกับเซิร์ฟเวอร์ให้แน่ใจว่าคุณป้อนหมายเลขที่ถูกต้องชื่อผู้ใช้รหัสผ่านเซิร์ฟเวอร์ SMTP และพอร์ตในบรรทัดของรหัสที่ระบุไว้ด้วย SMTP_Config
ปรับปรุงและทำให้กระบวนการทั้งหมดเป็นไปโดยอัตโนมัติ
ปลอดภัยและสะดวกในการส่งอีเมลจาก Excel ด้วยการคลิกปุ่ม หากคุณต้องการใช้คุณสมบัตินี้เป็นประจำคุณสามารถทำให้เป็นอัตโนมัติได้
ในการดำเนินการนี้คุณต้องเปลี่ยนมาโคร ไปที่ Visual Basic Editor คัดลอกและวางโค้ดทั้งหมดที่รวบรวมเข้าด้วยกัน ถัดจากนั้นเลือกThisWorkbookจากโครงการลำดับชั้น
จากช่องแบบเลื่อนลงสองช่องที่ด้านบนสุดของหน้าต่างรหัสให้เลือกสมุดงานแล้วคลิกเปิดจากเมนูแบบเลื่อนลงวิธีการ วางสคริปต์อีเมลข้างต้นลงในPrivate Sub Workbook_Open () การดำเนินการนี้จะเรียกใช้แมโครทุกครั้งที่คุณเปิดไฟล์ Excel

ถัดไปเปิดTask Scheduler คุณจะใช้เครื่องมือนี้เพื่อบอกให้ Windows เปิดสเปรดชีตโดยอัตโนมัติตามช่วงเวลาที่กำหนด ในขณะนั้นมาโครของคุณจะเปิดใช้งานและส่งอีเมล

เลือกCreate Basic Task …จากเมนูActionและทำตามคำแนะนำจนกว่าคุณจะไปที่หน้าจอ Action
เลือกเริ่มต้นโปรแกรมและคลิกถัดไป

ใช้เรียกดูปุ่มที่จะหาสถานที่ที่ใช้ Microsoft Excel ในคอมพิวเตอร์ของคุณหรือคัดลอกและวางเส้นทางในโครงการเขต / script
จากนั้นป้อนเส้นทางไปยังเอกสาร Microsoft Excel ของคุณในการเพิ่มข้อโต้แย้งฟิลด์
ทำตามคำแนะนำและกำหนดการที่คุณตั้งไว้จะเสร็จสิ้น
คุณควรทดสอบคุณลักษณะนี้โดยกำหนดเวลาการดำเนินการในสองสามนาทีถัดไปจากนั้นแก้ไขงานหลังจากที่คุณพบว่าใช้งานได้
หมายเหตุ : คุณอาจต้องปรับการตั้งค่าศูนย์ความเชื่อถือเพื่อให้แน่ใจว่ามาโครทำงานได้อย่างถูกต้องดังนี้:
เปิดสเปรดชีตและนำทางไปยังไฟล์> ตัวเลือก> ศูนย์ความเชื่อถือ
ที่นี่คลิกการตั้งค่าศูนย์ความเชื่อถือ บนหน้าจอถัดไปให้เลือกข้อมูลที่ไม่เคยแสดงเกี่ยวกับเนื้อหาที่ถูกบล็อก
Microsoft Excel เป็นเครื่องมือที่ทรงพลังอย่างไม่น่าเชื่อ แต่บางครั้งการเรียนรู้วิธีใช้อาจเป็นเรื่องที่ท้าทายสำหรับหลาย ๆ หากคุณต้องการเชี่ยวชาญซอฟต์แวร์นี้คุณจำเป็นต้องรู้วิธีใช้ VBA มันไม่ง่ายเลย.
อย่างไรก็ตามด้วยประสบการณ์ VBA เล็กน้อยคุณสามารถทำงานพื้นฐานบน Microsoft Excel โดยอัตโนมัติและใช้เวลามากขึ้นในการมุ่งเน้นไปที่งานที่สำคัญกว่า
หวังว่าบทความนี้จะมีประโยชน์กับคุณ โชคดี!