วิธีการส่งอีเมลจากสเปรดชีต Excel โดยใช้สคริปต์ VBA

วิธีการส่งอีเมลจากสเปรดชีต Excel โดยใช้สคริปต์ VBA

ในการส่งอีเมลจาก Microsoft Excel ต้องใช้สคริปต์ง่ายๆ เพียงไม่กี่ข้อเท่านั้น เพิ่มฟังก์ชันนี้ในสเปรดชีตของคุณและคุณสามารถเพิ่มจำนวนที่คุณสามารถทำได้ใน Excel





เราได้กล่าวถึงมาโคร Excel ที่ยอดเยี่ยมมากมาย ซึ่งสามารถทำสิ่งเดียวกันกับสคริปต์ VBA ได้ แต่ไม่จำเป็นต้องมีความรู้ด้านการเขียนโปรแกรม แต่มีหลายสิ่งที่คุณทำได้ด้วย VBA ขั้นสูง เช่น การสร้างรายงานสเปรดชีตที่มีข้อมูลพีซีทั้งหมดของคุณ





ต้องการดูบทแนะนำนี้เป็นวิดีโอหรือไม่ เรามีคุณครอบคลุม!





ทำไมต้องส่งอีเมลจาก Excel

มีสาเหตุหลายประการที่คุณอาจต้องการส่งอีเมลจากภายใน Microsoft Excel

บางทีคุณอาจมีพนักงานที่อัปเดตเอกสารหรือสเปรดชีตเป็นประจำทุกสัปดาห์ และคุณต้องการรับอีเมลแจ้งเตือนเมื่อการอัปเดตเหล่านั้นเสร็จสิ้น หรือคุณอาจมีสเปรดชีตรายชื่อติดต่อและต้องการส่งอีเมลหนึ่งฉบับถึงทุกคนพร้อมกัน



คุณอาจคิดว่าการเขียนสคริปต์การออกอากาศอีเมลจาก Excel จะซับซ้อน นั่นไม่ใช่กรณีเลย

เทคนิคในบทความนี้จะใช้ฟีเจอร์ที่มีใน Excel VBA มาอย่างยาวนาน ออบเจ็กต์ข้อมูลการทำงานร่วมกัน (ซีดีโอ).





CDO เป็นองค์ประกอบการส่งข้อความที่ใช้ใน Windows ตั้งแต่ระบบปฏิบัติการรุ่นแรกๆ มันเคยถูกเรียกว่า CDONTS จากนั้นเมื่อมีการถือกำเนิดของ Windows 2000 และ XP ถูกแทนที่ด้วย 'CDO สำหรับ Windows 2000' ส่วนประกอบนี้มีอยู่แล้วในการติดตั้ง VBA ของคุณภายใน Microsoft Word หรือ Excel และพร้อมใช้งาน

การใช้องค์ประกอบทำให้การส่งอีเมลจากภายในผลิตภัณฑ์ Windows ด้วย VBA ทำได้ง่ายมาก ในตัวอย่างนี้ คุณจะใช้คอมโพเนนต์ CDO ใน Excel เพื่อส่งอีเมลที่จะส่งผลลัพธ์จากเซลล์ Excel ที่ระบุ





ขั้นตอนที่ 1: สร้าง VBA Macro

ขั้นตอนแรกคือไปที่แท็บนักพัฒนา Excel

ภายในแท็บ Developer ให้คลิกที่ แทรก ในกล่องตัวควบคุม แล้วเลือกปุ่มคำสั่ง

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

เมื่อคุณคลิก สร้าง ปุ่มจะเปิดโปรแกรมแก้ไข VBA

เพิ่มการอ้างอิงไปยังไลบรารี CDO โดยไปที่ เครื่องมือ > อ้างอิง ในบรรณาธิการ

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

เมื่อคุณคลิก ตกลง ให้จดชื่อฟังก์ชันที่คุณวางสคริปต์ คุณจะต้องใช้ในภายหลัง

ขั้นตอนที่ 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 = 'Results from Excel Spreadsheet'
strFrom = 'rdube02@gmail.com'
strTo = 'rdube02@gmail.com'
strCc = ''
strBcc = ''
strBody = 'The total results for this quarter are: ' & Str(Sheet1.Cells(2, 1))

สิ่งที่ยอดเยี่ยมเกี่ยวกับสิ่งนี้คือคุณสามารถสร้างสตริงใดก็ได้ที่คุณต้องการปรับแต่งข้อความอีเมลแบบเต็มและกำหนดให้กับ strBody ตัวแปร.

รวมส่วนประกอบของข้อความโดยใช้ & สตริงเพื่อแทรกข้อมูลจากแผ่นงาน Microsoft Excel ใด ๆ ลงในข้อความอีเมล เช่นเดียวกับที่แสดงด้านบน

ขั้นตอนที่ 3: กำหนดค่า CDO เพื่อใช้ SMTP ภายนอก

ส่วนถัดไปของรหัสคือที่ที่คุณจะกำหนดค่า CDO ให้ใช้เซิร์ฟเวอร์ SMTP ภายนอกเพื่อส่งอีเมล

ตัวอย่างนี้เป็นการตั้งค่าที่ไม่ใช่ SSL ผ่าน Gmail CDO สามารถใช้ SSL ได้ แต่นั่นอยู่นอกเหนือขอบเขตของบทความนี้ หากคุณต้องการใช้ SSL สิ่งนี้ รหัสขั้นสูงใน Github สามารถช่วย.

Set CDO_Mail = CreateObject('CDO.Message')
On Error GoTo Error_Handling
Set CDO_Config = CreateObject('CDO.Configuration')
CDO_Config.Load -1
Set SMTP_Config = CDO_Config.Fields
With 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@website.com'
.Item('http://schemas.microsoft.com/cdo/configuration/sendpassword') = 'password'
.Item('http://schemas.microsoft.com/cdo/configuration/smtpserverport') = 25
.Item('http://schemas.microsoft.com/cdo/configuration/smtpusessl') = True
.Update
End With
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:
If Err.Description '' Then MsgBox Err.Description

จะไม่มีกล่องป๊อปอัปหรือข้อความแจ้งเตือนความปลอดภัย ซึ่งสามารถเกิดขึ้นได้เมื่อคุณหันไปใช้วัตถุจดหมาย Outlook

CDO รวบรวมอีเมลและใช้รายละเอียดการเชื่อมต่อเซิร์ฟเวอร์ SMTP ของคุณเพื่อปิดข้อความ เป็นวิธีที่ง่ายที่สุดในการรวมอีเมลไว้ในสคริปต์ Microsoft Word หรือ Excel VBA

หากต้องการเชื่อมต่อปุ่มคำสั่งกับสคริปต์นี้ ให้ไปที่โปรแกรมแก้ไขโค้ดแล้วคลิก แผ่นที่1 เพื่อดูโค้ด VBA สำหรับเวิร์กชีตนั้น

พิมพ์ชื่อของฟังก์ชันที่คุณวางสคริปต์ด้านบน

อ่านฮาร์ดไดรฟ์ mac บน windows

นี่คือสิ่งที่ดูเหมือนข้อความที่ฉันได้รับในกล่องจดหมายของฉัน:

บันทึก : หากคุณได้รับข้อผิดพลาดที่อ่านว่า การขนส่งล้มเหลวในการเชื่อมต่อกับเซิร์ฟเวอร์ ตรวจสอบให้แน่ใจว่าคุณได้ป้อนชื่อผู้ใช้ รหัสผ่าน เซิร์ฟเวอร์ SMTP และหมายเลขพอร์ตที่ถูกต้องในบรรทัดของรหัสที่แสดงด้านล่าง ด้วย SMTP_Config .

ก้าวต่อไปและทำให้กระบวนการทั้งหมดเป็นไปโดยอัตโนมัติ

เป็นเรื่องดีและดีที่จะสามารถส่งอีเมลจาก Excel ได้เพียงกดปุ่ม อย่างไรก็ตาม คุณอาจต้องการใช้ฟังก์ชันนี้เป็นประจำ ซึ่งในกรณีนี้ คุณควรทำให้กระบวนการเป็นอัตโนมัติ

ในการดำเนินการดังกล่าว คุณจะต้องทำการเปลี่ยนแปลงมาโคร ไปที่ Visual Basic Editor แล้วคัดลอกและวางโค้ดทั้งหมดที่เรารวบรวมไว้

ต่อไป เลือก สมุดงานนี้ จาก โครงการ ลำดับชั้น

จากช่องดรอปดาวน์สองช่องที่ด้านบนของหน้าต่างโค้ด ให้เลือก สมุดงาน และเลือก เปิด จากดรอปดาวน์วิธีการ

วางสคริปต์อีเมลด้านบนลงใน สมุดงานย่อยส่วนตัว_Open() .

การดำเนินการนี้จะเรียกใช้มาโครทุกครั้งที่คุณเปิดไฟล์ Excel

ต่อไปเปิด ตัวกำหนดเวลางาน .

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

เลือก สร้างงานพื้นฐาน... จาก การกระทำ เมนูและดำเนินการผ่านตัวช่วยสร้างจนกว่าคุณจะไปถึง การกระทำ หน้าจอ.

เลือก เริ่มโปรแกรม และคลิก ต่อไป .

ใช้ เรียกดู เพื่อค้นหาตำแหน่งของ Microsoft Excel บนคอมพิวเตอร์ของคุณ หรือคัดลอกและวางเส้นทางลงใน โปรแกรม/สคริปต์ สนาม.

จากนั้นป้อนเส้นทางไปยังเอกสาร Microsoft Excel ของคุณลงใน เพิ่มอาร์กิวเมนต์ สนาม.

ทำตามวิซาร์ดให้เสร็จสิ้น และการจัดกำหนดการของคุณก็จะเข้าที่

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

บันทึก : คุณอาจต้องปรับการตั้งค่าศูนย์ความเชื่อถือเพื่อให้แน่ใจว่ามาโครทำงานอย่างถูกต้อง

โดยเปิดสเปรดชีตและไปที่ ไฟล์ > ตัวเลือก > ศูนย์ทรัสต์ .

จากที่นี่ คลิก การตั้งค่าศูนย์ความเชื่อถือ และในหน้าจอถัดไป ให้ตั้งค่าปุ่มหมุนวิทยุไปที่ ไม่แสดงข้อมูลเกี่ยวกับเนื้อหาที่ถูกบล็อก .

ทำให้ Microsoft Excel ทำงานแทนคุณ

Microsoft Excel เป็นเครื่องมือที่ทรงพลังอย่างเหลือเชื่อ แต่การเรียนรู้วิธีใช้งานให้เกิดประโยชน์สูงสุดอาจเป็นเรื่องที่น่ากลัวเล็กน้อย หากคุณต้องการเชี่ยวชาญซอฟต์แวร์อย่างแท้จริง คุณจะต้อง สะดวกสบายด้วยVBA และนั่นไม่ใช่งานเล็ก

วิธีปรับแต่งฟิลเตอร์ snapchat

อย่างไรก็ตามผลลัพธ์พูดเพื่อตัวเอง ด้วยประสบการณ์ VBA เพียงเล็กน้อย ในไม่ช้าคุณจะสามารถทำให้ Microsoft Excel ทำงานพื้นฐานได้โดยอัตโนมัติ ทำให้คุณมีเวลามากขึ้นในการจดจ่อกับเรื่องเร่งด่วนมากขึ้น

ต้องใช้เวลาในการสร้างความเชี่ยวชาญกับ VBA แต่ในไม่ช้าคุณจะเห็นผลงานของคุณหากคุณสามารถยึดติดกับมันได้

จุดเริ่มต้นที่ดีแห่งหนึ่งคืออำนาจของเรา กวดวิชาเกี่ยวกับการใช้ VBA ใน Excel . เมื่อคุณทำเสร็จแล้ว สคริปต์ง่ายๆ ในการส่งอีเมลจาก Excel นี้จะให้ความรู้สึกเหมือนเป็นการเล่นของเด็ก

แบ่งปัน แบ่งปัน ทวีต อีเมล Canon กับ Nikon: กล้องยี่ห้อไหนดีกว่ากัน?

Canon และ Nikon เป็นสองชื่อที่ใหญ่ที่สุดในอุตสาหกรรมกล้อง แต่แบรนด์ใดที่มีกล้องและเลนส์รุ่นต่างๆ ที่ดีกว่ากัน?

อ่านต่อไป
หัวข้อที่เกี่ยวข้อง
  • ผลผลิต
  • การเขียนโปรแกรม
  • เคล็ดลับอีเมล
  • การเขียนโปรแกรม
  • การเขียนโปรแกรม Visual Basic
  • Microsoft Excel
  • เคล็ดลับ Microsoft Office
เกี่ยวกับผู้เขียน Ryan Dube(เผยแพร่บทความ 942 ฉบับ)

Ryan สำเร็จการศึกษาระดับปริญญาตรีสาขาวิศวกรรมไฟฟ้า เขาทำงาน 13 ปีในด้านวิศวกรรมระบบอัตโนมัติ 5 ปีในด้านไอที และปัจจุบันเป็นวิศวกรด้านแอป อดีตผู้จัดการบรรณาธิการของ MakeUseOf เขาพูดในการประชุมระดับชาติเรื่อง Data Visualization และได้รับการนำเสนอในโทรทัศน์และวิทยุแห่งชาติ

เพิ่มเติมจาก Ryan Dube

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก