Note: The other languages of the website are Google-translated. Back to English
English English

วิธีส่งอีเมลเตือนความจำหรือการแจ้งเตือนหากมีการอัปเดตสมุดงานใน Excel

ในบางกรณีคุณอาจต้องทริกเกอร์การแจ้งเตือนทางอีเมลไปยังผู้รับที่ระบุหากมีการอัปเดตข้อมูลในสมุดงานที่คุณส่งไป บทความนี้จะแสดงวิธีการเพื่อให้บรรลุ

ส่งการแจ้งเตือนทางอีเมลหรือการแจ้งเตือนหากมีการอัปเดตสมุดงานด้วยรหัส VBA


ส่งการแจ้งเตือนทางอีเมลหรือการแจ้งเตือนหากมีการอัปเดตสมุดงานด้วยรหัส VBA


โปรดทำดังนี้เพื่อส่งการแจ้งเตือนทางอีเมลหรือการแจ้งเตือนหากมีการอัปเดตสมุดงาน

1. ในสมุดงานเปิดแผ่นงานที่ระบุคุณจะส่งการแจ้งเตือนทางอีเมลตามข้อมูลที่อัปเดตภายใน

2. คลิกขวาที่แท็บแผ่นงานแล้วเลือก ดูรหัส จากเมนูคลิกขวา ดูภาพหน้าจอ:

2 ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน คัดลอกและวางรหัสต่อไปนี้ลงในหน้าต่างรหัส ดูภาพหน้าจอ:

รหัส VBA: ส่งการแจ้งเตือนทางอีเมลหรือการแจ้งเตือนหากมีการอัปเดตสมุดงาน

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2017/9/14
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xName As String
    Dim xYesOrNo As Integer
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailItem = xOutApp.CreateItem(0)
    xYesOrNo = MsgBox("Want to attach updated workbook in email?", vbInformation + vbYesNo, "KuTools For Excel")
    If xYesOrNo = 6 Then ActiveWorkbook.Save
    If xYesOrNo = 6 Then xName = ActiveWorkbook.FullName
    With xMailItem
        .To = "Email Address"
        .cc = ""
        .Subject = "email notification test"
        .Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
        If xYesOrNo = 6 Then .Attachments.Add xName
        .Display
    End With
    xMailItem = Nothing
    xOutApp = Nothing
End Sub

หมายเหตุ: แทนที่ที่อยู่อีเมลด้วยที่อยู่อีเมลของผู้รับในบรรทัด . ถึง = "ที่อยู่อีเมล". และเปลี่ยนฟิลด์ Cc หัวเรื่องและเนื้อหาในรหัส VBA ตามที่คุณต้องการ

3 กด อื่น ๆ + Q ปุ่มเพื่อปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

4. หลังจากแก้ไขเซลล์ในแผ่นงานแล้ว a Kutools สำหรับ Excel กล่องโต้ตอบจะปรากฏขึ้นตามภาพด้านล่างที่แสดง หากคุณต้องการแนบสมุดงานที่อัปเดตในอีเมลโปรดคลิกไฟล์ ใช่ ปุ่ม. ถ้าไม่คลิกไฟล์ ไม่ ปุ่ม

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

หมายเหตุ: รหัส VBA จะใช้งานได้ก็ต่อเมื่อคุณใช้ Outlook เป็นโปรแกรมอีเมลของคุณ


บทความที่เกี่ยวข้อง:


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (18)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
หากใครพบว่าหน้านี้สงสัยว่าจะส่งอีเมลจาก Excel โดยใช้ CDO ได้อย่างไร ฉันได้รวบรวม Google Doc -- วิธีส่งอีเมลจาก Excel โดยใช้ Gmail (https://docs.google.com/document/d/1u5VLzCApU3k4-9Vp9LEfqyFZ6u9tAY0avNPYN_1FsN4/edit?usp=sharing) พร้อมรหัสในส่วนสำคัญ GitHub (https://gist.github.com/bergerjac/7355d4e528fa6c64a02dc494f3d241a1)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
CC มากกว่านี้ได้ไหม ขอบคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีลีอาห์
โปรดป้อนที่อยู่อีเมลโดยตรงในบรรทัด .cc="" และคั่นด้วยเครื่องหมายอัฒภาค เช่น .cc = "AAA@gmail.com;BBB@gmail.com"
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันคัดลอกและวางโค้ดตามที่มาจากหน้านี้ทุกประการ แต่เมื่อฉันเปลี่ยนแปลงเอกสาร ฉันได้รับข้อความ "ข้อผิดพลาดทางไวยากรณ์" และบรรทัดนี้ไฮไลต์: Dim xOutApp As Object ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีจูดี้
คุณจะให้เวอร์ชัน Excel ที่คุณใช้อยู่หรือไม่ ขอบคุณสำหรับความคิดเห็นของคุณ.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี รหัสใช้งานได้ดี อย่างไรก็ตาม เมื่อเซลล์เปลี่ยนเป็นจุดที่ต่ำกว่าจุดเกณฑ์ผ่านการดำเนินการแมโครที่คัดลอกและวางค่าที่ต่ำกว่าลงในเซลล์ที่กำหนด ดูเหมือนโค้ดจะไม่ทริกเกอร์

นอกจากนี้ ฉันต้องการใช้รหัสนี้กับหลายเซลล์ ฉันสามารถคัดลอกและวางโค้ดหลายๆ ครั้ง และเปลี่ยนเวอร์ชันที่คัดลอกแต่ละเวอร์ชันเพื่อให้เหมาะกับความต้องการของแต่ละเซลล์ได้หรือไม่ มีวิธีที่ดีกว่าในการทำเช่นนั้น ฉันไม่สามารถคิดออก ขอขอบคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขออภัย ฉันโพสต์ข้อความนี้ในบทความที่ไม่ถูกต้อง ฉันจะโพสต์ในบทความที่ถูกต้อง
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เมื่อฉันพยายามเปลี่ยนแปลงบางอย่างในเซลล์ จะมีข้อความแจ้งให้กำหนดค่าอีเมล Outlook และถามรหัสผ่านของฉันต่อไป
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี เอ็มเจ
คุณใช้ Excel เวอร์ชันใดอยู่ คุณสามารถให้ภาพหน้าจอของข้อความแจ้งได้หรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สำหรับฉันโค้ดทำงานซ้ำแล้วซ้ำอีก มันเหมือนกับการวนซ้ำไม่สิ้นสุด ปิดเมล์แล้วขอให้ส่งใหม่...
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ได้โปรดฉันสับสนเล็กน้อย แต่จะตรวจพบแผ่นงานที่กำลังแก้ไข / อัปเดตในโค้ดหรือไม่
ฉันกำลังพยายามเขียนรหัสที่ส่งตารางบนแผ่นงานบางแผ่นเมื่อมีการแก้ไขตาราง (หรือเฉพาะเจาะจงมากขึ้นเมื่อมีการเพิ่มแถว)
ขอขอบคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี
โค้ดในโพสต์จะตรวจจับทุกเซลล์ในเวิร์กชีตทั้งหมดโดยอิงจากบรรทัดแรกของ "Private Sub Worksheet_Change(ByVal Target As Range)"
ถ้าคุณต้องการส่งอีเมลพร้อมตารางเฉพาะเมื่อมีการแก้ไข คุณสามารถลองใช้ VBA ต่อไปนี้
หมายเหตุ: โปรดเปลี่ยน "Table1" เป็นชื่อตารางของคุณเอง
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2022/5/27
    Dim xYesOrNo As Integer
    Dim xTableName As String
    Dim xTableRg As Range
    Dim I, J As Long
    Dim xEmailBody As String
    Dim xMailOut As Object
    Dim xOutApp As Object
    On Error Resume Next
    
    xTableName = "Table1" 'The name of the table you will send when it is modified
    Set xTableRg = ActiveSheet.ListObjects(xTableName).Range
    If Intersect(Target, xTableRg) Is Nothing Then Exit Sub

    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    For I = 1 To xTableRg.Rows.Count
        For J = 1 To xTableRg.Columns.Count
            xEmailBody = xEmailBody & "  " & xTableRg.Cells(I, J).Value
        Next
        xEmailBody = xEmailBody & vbNewLine
    Next
    xEmailBody = "Hi" & vbLf & vbLf & " body of message you want to add" & vbLf & vbLf & xEmailBody & vbNewLine
    With xMailOut
        .Subject = "Test"
        .To = "XXX@163.com"
        .Body = xEmailBody
        .Display
        '.Send
    End With
    Set xMailOut = Nothing
    Set xOutApp = Nothing
End Sub
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Hola cristal, donde dice Private Sub Worksheet_Change, deberia poner el nombre de mi excel o ไม่?
Los rangos de (I,J) cambiarlos por los valores de celdas que yo dese estar mirando si cambian?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
HOLA CRISTAL, ME GUSTARIA PONERME EN CONTACTO DIRECTO CONTIGO, NE CESITO DE TU AYUDA EN EXCEL, กราเซียส
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
HOLA CRISTAL, ME GUSTARIA PONERME EN CONTACTO DIRECTO CONTIGO, PARA PEDIR TU AYUDA EN UN PROBLEMITA EN UNA HOJA DE EXCEL
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี เจอราโด มาร์ติน โอลเวรา
คุณสามารถส่งอีเมลถึงฉันได้ที่ zxm@addin99.com
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ฉันควรลบส่วนใดของรหัสเพื่อให้ส่งอีเมลเฉพาะเมื่อฉันคลิกบันทึก ไม่ใช่ในทุกการกระทำ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ดองกี้
ในรหัส VBA โปรดแทนที่บรรทัดต่อไปนี้:
.แสดง
กับ
.ส่ง
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ