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

กวดวิชา Excel – ส่งอีเมลจาก Excel

โดยปกติ เราใช้โปรแกรมรับส่งเมล เช่น Outlook, Gmail เป็นต้น เพื่อส่งอีเมล แต่หลายคนเก็บข้อมูลในเวิร์กบุ๊ก Excel และจำเป็นต้องส่งข้อมูลบางอย่างไปพร้อมกับผู้อื่นในขณะที่พวกเขากำลังทำงานกับเวิร์กบุ๊กอยู่ ดังนั้นพวกเขาจึงต้องส่งอีเมลโดยตรงจากสมุดงาน Excel ซึ่งช่วยประหยัดเวลาในการใช้งานโปรแกรมรับส่งเมล บทแนะนำทีละขั้นตอนนี้จะแสดงวิธีการส่งอีเมลจาก Excel ภายใต้เงื่อนไขต่างๆ

หมายเหตุ: ก่อนใช้วิธีการต่อไปนี้ คุณต้องกำหนดค่าไคลเอนต์อีเมล Outlook ในคอมพิวเตอร์ของคุณและตั้งค่าเป็นไคลเอนต์อีเมลเริ่มต้นของคุณ

สารบัญ: [ ซ่อน ]

(คลิกที่หัวข้อใดๆ ในสารบัญด้านล่างหรือทางด้านขวาเพื่อไปยังบทที่เกี่ยวข้อง)

1. พื้นฐานของการส่งอีเมลจาก Excel

ส่วนนี้จะแนะนำพื้นฐานของการส่งอีเมลจาก Excel

1.1 ส่งอีเมลจาก Excel ด้วยฟังก์ชันในตัวของ Excel

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


1.1.1 ส่งอีเมลจาก Excel พร้อมสูตร

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

หมายเหตุ หากมีผู้รับมากกว่าหนึ่งรายในช่องถึงหรือสำเนาถึง โปรดแยกผู้รับด้วยเครื่องหมายอัฒภาค

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

ไวยากรณ์และอาร์กิวเมนต์ของ ไฮเปอร์ลิงค์ ฟังก์ชันมีดังนี้

วากยสัมพันธ์

HYPERLINK(link_location, [friendly_name])

ข้อโต้แย้ง

Link_location (จำเป็น): พาธและชื่อไฟล์ไปยังเอกสารที่จะเปิด
เคล็ดลับ: ในบทช่วยสอนนี้ ฟิลด์ทั้งหมดที่เราต้องการสำหรับอีเมล เช่น ที่อยู่อีเมลของผู้รับ ผู้รับสำเนาถึง หัวเรื่อง และเนื้อหาควรใส่ไว้ในอาร์กิวเมนต์แรก "link_location"
ชื่อมิตร (ไม่บังคับ): ค่าข้ามที่แสดงในเซลล์

1.1.1.1 เพิ่มที่อยู่อีเมลในสูตรไฮเปอร์ลิงก์

ที่นี่เราใช้ "เมลโต:" เป็นส่วนหนึ่งของสูตรการเพิ่มผู้รับอีเมล ในตัวอย่างนี้ ที่อยู่อีเมลของผู้รับรายแรกอยู่ในเซลล์ B2 เราจึงต้องเพิ่ม "mailto:" และอ้างอิงไปยังเซลล์ B2

“mailto:”&B2

1. เลือกเซลล์เพื่อแสดงไฮเปอร์ลิงก์ ในกรณีนี้ ฉันเลือกเซลล์ F2

2. จากนั้นป้อนสูตรต่อไปนี้ลงไป

=HYPERLINK("mailto:"&B2)

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

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


1.1.1.2 เพิ่มผู้รับสำเนาถึงสูตรไฮเปอร์ลิงก์

หากต้องการเพิ่มผู้รับสำเนาถึงฟังก์ชันไฮเปอร์ลิงก์ โปรดเพิ่ม "?cc=" เป็นส่วนหนึ่งของสูตรดังนี้

"?cc=" & C2
โดยที่ C2 มีที่อยู่อีเมลของผู้รับสำเนา

สูตรในเซลล์ F2 ควรเป็นดังนี้:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2)


1.1.1.3 เพิ่มหัวเรื่องในสูตรไฮเปอร์ลิงก์

หากต้องการเพิ่มหัวเรื่องในฟังก์ชันไฮเปอร์ลิงก์ โปรดเพิ่ม "&หัวเรื่อง=" เป็นส่วนหนึ่งของสูตรดังนี้

"& subject="& D2
โดยที่ C2 มีหัวเรื่องอีเมล

สูตรในเซลล์ F2 ควรมีลักษณะดังนี้:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2)


1.1.1.4 เพิ่มข้อความเนื้อหาพร้อมตัวแบ่งบรรทัดในสูตรไฮเปอร์ลิงก์

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

ในการเพิ่มข้อความเนื้อหาในสูตรไฮเปอร์ลิงก์ คุณต้องเพิ่ม “&ร่างกาย=” เป็นส่วนหนึ่งของสูตรดังนี้

"&body="& E2
โดยที่ E2 มีเนื้อความของอีเมล

สูตรในเซลล์ F2 จะแสดงดังนี้:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2)

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

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


1.1.1.5 ระบุข้อความที่จะแสดงสำหรับไฮเปอร์ลิงก์

ในขั้นตอนข้างต้น เราเสร็จสิ้นอาร์กิวเมนต์ Link_location ด้วยฟิลด์อีเมล ในส่วนนี้ เราจะจบอาร์กิวเมนต์ถัดไป [friendly_name]

ในกรณีนี้ ฉันต้องการให้เซลล์ไฮเปอร์ลิงก์แสดงข้อความเป็น “ส่งอีเมล์ถึง xx” โดยที่ xx คือชื่อผู้รับใน A2 ดังนั้น ควรเปลี่ยนสูตรใน F2 เป็น:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2, "Email to "&A2)

กด เข้าสู่ กุญแจสำคัญในการรับผลลัพธ์

เลือกเซลล์สูตรนี้แล้วลาก ที่จับการป้อนอัตโนมัติ ลงเพื่อสร้างไฮเปอร์ลิงก์อีเมลอื่นๆ ดูภาพหน้าจอ:


1.1.2 ส่งอีเมลจาก Excel ด้วยฟังก์ชันไฮเปอร์ลิงก์

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

1. คลิกขวาที่อีเมลที่คุณต้องการแทรกไฮเปอร์ลิงก์ เลือก ลิงค์ จากเมนูคลิกขวา

2. ในการโผล่ขึ้นมา แทรกไฮเปอร์ลิงก์ คุณต้องกำหนดค่าดังต่อไปนี้

2.1) เลือก E-mail Address ในบานหน้าต่างด้านซ้าย
2.2) ใน ข้อความที่จะแสดง กล่องข้อความ พิมพ์ข้อความที่คุณต้องการแสดงในเซลล์
เคล็ดลับ: คุณไม่สามารถใช้การอ้างอิงเซลล์ในกล่องโต้ตอบนี้ ดังนั้นคุณควรพิมพ์ในฟิลด์อีเมลด้วยตนเองดังนี้
2.3) ใน E-mail address กล่องข้อความ คุณต้องพิมพ์ที่อยู่อีเมลต่อไปนี้
mailto:ที่อยู่อีเมล
กรุณาเปลี่ยนข้อความ “ที่อยู่อีเมล์” ด้วยที่อยู่อีเมลจริงของคุณ หากคุณมีที่อยู่อีเมลมากกว่าหนึ่งที่อยู่ ให้คั่นด้วยเครื่องหมายอัฒภาค
2.4) ใน หัวข้อ กล่องข้อความ คุณสามารถระบุหัวเรื่องอีเมลและเนื้อหาอีเมลได้ที่นี่ โปรดกำหนดค่าดังนี้:
หัวเรื่องอีเมล&body=เนื้อหาอีเมล
ในกรณีนี้ฉันพิมพ์ การขายรายเดือน&body=สวัสดี,%0AEmail ได้รับ.
> โดยที่หัวข้อคือการขายรายเดือน
และ
> เนื้อหาอีเมลคือ:
สวัสดี
ได้รับอีเมลแล้ว (%0ก คือรหัสอักขระการขึ้นบรรทัดใหม่ที่ Outlook สามารถรับรู้ได้)
2.5) คลิกปุ่ม OK ปุ่มเพื่อบันทึกไฮเปอร์ลิงก์ ดูภาพหน้าจอ:

เมื่อคลิกที่ไฮเปอร์ลิงก์ อีเมล Outlook จะถูกสร้างขึ้นพร้อมฟิลด์ To, Subject และ Body ตามที่แสดงในภาพหน้าจอด้านล่าง

หมายเหตุ:

1) ด้วยวิธีนี้ คุณต้องสร้างไฮเปอร์ลิงก์อีเมลด้วยตนเอง
2) คุณไม่สามารถเพิ่มช่องสำเนาถึงอีเมลด้วยวิธีนี้ ดังนั้น หากคุณต้องการช่อง Cc โปรดเพิ่มจากหน้าต่างอีเมลที่เปิดใหม่

1.2 ส่งอีเมลไปยังผู้รับหลายคนในเซลล์ด้วยสคริปต์ VBA

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


1.2.1 ส่งอีเมลไปยังผู้รับหลายคนในเซลล์ด้วยสคริปต์ VBA

1. ในแผ่นงานที่มีที่อยู่อีเมลทั้งหมดที่คุณต้องการส่งอีเมลไป กด อื่น ๆ + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2 ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างคลิก สิ่งที่ใส่เข้าไป > โมดูล, แล้ววางรหัสต่อไปนี้ลงใน โมดูล (รหัส) หน้าต่าง

รหัส VBA: ส่งอีเมลไปยังรายการที่อยู่อีเมล

Sub sendmultiple()
'updateby Extendoffice 20220802
    Dim xOTApp As Object
    Dim xMItem As Object
    Dim xCell As Range
    Dim xRg As Range
    Dim xEmailAddr As String
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the addresses list:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xOTApp = CreateObject("Outlook.Application")
    For Each xCell In xRg
        If xCell.Value Like "*@*" Then
            If xEmailAddr = "" Then
                xEmailAddr = xCell.Value
            Else
                xEmailAddr = xEmailAddr & ";" & xCell.Value
            End If
        End If
    Next
    Set xMItem = xOTApp.CreateItem(0)
    With xMItem
        .To = xEmailAddr
        .Subject = "Test"
        .Body = "Dear " _
                & vbNewLine & vbNewLine & _
                "This is a test email " & _
                "sending in Excel"
        .Display
    End With
End Sub

3 กด F5 คีย์เพื่อเรียกใช้รหัสและ a Kutools สำหรับ Excel กล่องโต้ตอบปรากฏขึ้น เลือกรายการที่อยู่อีเมลและคลิก OK.

หมายเหตุ:

1) หากคุณไม่ต้องการให้กล่องโต้ตอบด้านบนปรากฏขึ้นและต้องการระบุช่วงของที่อยู่อีเมลในรหัสโดยตรง โปรดแทนที่บรรทัดนี้:
Set xRg = Application.InputBox("โปรดเลือกรายการที่อยู่:", "Kutools สำหรับ Excel", xTxt, , , , , 8)
กับ
ตั้งค่า xRg = ช่วง ("A2:A7")
2) คุณสามารถระบุหัวเรื่องและเนื้อหาของอีเมลของคุณในบรรทัดต่อไปนี้:
.Subject = "ทดสอบ"
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) ในการส่งอีเมลโดยตรงโดยไม่ต้องเปิดหน้าต่างข้อความใหม่ต่อไปนี้ คุณต้องแทนที่บรรทัดนี้:
.แสดง
กับ
.ส่ง

หลังจากรันโค้ดแล้ว ที่อยู่อีเมลทั้งหมดในช่วงที่เลือกจะแสดงในช่องถึงของหน้าต่างข้อความ ดูภาพหน้าจอ:


1.2.2 แยกส่งอีเมลไปยังผู้รับแต่ละรายที่อยู่ในเซลล์ด้วยสคริปต์ VBA

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

1. ในแผ่นงานที่มีที่อยู่อีเมลทั้งหมดที่คุณต้องการส่งอีเมลไป กด อื่น ๆ + F11 กุญแจสู่ เปิดหน้าต่าง Microsoft Visual Basic for Applications.

2 ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างคลิก สิ่งที่ใส่เข้าไป > โมดูลแล้ววางรหัสต่อไปนี้ลงในหน้าต่างโมดูล (รหัส)

รหัส VBA: ส่งอีเมลไปยังที่อยู่อีเมลแต่ละรายการที่ระบุไว้ในเซลล์แยกกัน

Sub SendEmailToAddressInCells()
'Updated by Extendoffice 20220802
    Dim xRg As Range
    Dim xRgEach As Range
    Dim xRgVal As String
    Dim xAddress As String
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the addresses list", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xRg = xRg.SpecialCells(xlCellTypeConstants, xlTextValues)
    For Each xRgEach In xRg
        xRgVal = xRgEach.Value
        If xRgVal Like "?*@?*.?*" Then
            Set xMailOut = xOutApp.CreateItem(olMailItem)
            With xMailOut
                .To = xRgVal
                .Subject = "Test"
                .Body = "Dear " _
                      & vbNewLine & vbNewLine & _
                        "This is a test email " & _
                        "sending in Excel"
                .Display
                '.Send
            End With
        End If
    Next
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

3 จากนั้นคลิก เครื่องมือ > อ้างอิง ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร เอกสารอ้างอิง - VBAProject กล่องโต้ตอบ ให้ค้นหาและทำเครื่องหมายที่ ไลบรารีอ็อบเจ็กต์ Microsoft Outlook 16.0 แลวคลิกปุ the ม OK เพื่อบันทึกการเปลี่ยนแปลง

4 กด F5 คีย์เพื่อเรียกใช้รหัสและ a Kutools สำหรับ Excel กล่องโต้ตอบปรากฏขึ้น เลือกรายการที่อยู่อีเมลและคลิก ตกลง

หมายเหตุ:

1) หากคุณไม่ต้องการให้กล่องโต้ตอบด้านบนปรากฏขึ้นและต้องการระบุช่วงของที่อยู่อีเมลในรหัสโดยตรง โปรดแทนที่บรรทัดนี้:
Set xRg = Application.InputBox("โปรดเลือกรายการที่อยู่:", "Kutools สำหรับ Excel", xTxt, , , , , 8)
กับ
ตั้งค่า xRg = ช่วง ("A2:A7")
2) คุณสามารถระบุหัวเรื่องและเนื้อหาของอีเมลของคุณในบรรทัดต่อไปนี้:
.Subject = "Test"
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) ในการส่งอีเมลโดยตรงโดยไม่ต้องเปิดหน้าต่างข้อความต่อไปนี้ คุณต้องแทนที่บรรทัดนี้:
.แสดง
กับ
.ส่ง

ในตัวอย่างนี้ มีที่อยู่อีเมลหกรายการในช่วงที่เลือก ดังนั้นหน้าต่างข้อความ Outlook หกรายการจะถูกสร้างขึ้นโดยอัตโนมัติด้วยที่อยู่อีเมลแยกต่างหากที่แสดงอยู่ในฟิลด์ ถึง ดังที่แสดงในภาพหน้าจอด้านล่าง

5. ในที่สุดคลิก ส่ง ปุ่มเพื่อส่งอีเมลทีละรายการ


2. แทรกไฟล์แนบหรือลายเซ็น Outlook ในอีเมลที่ส่งจาก Excel (พร้อมสคริปต์ VBA)

ส่วนนี้จะแสดงวิธีการแทรกไฟล์แนบหรือลายเซ็นเริ่มต้นของ Outlook ในอีเมลที่ส่งจาก Excel

2.1 แทรกไฟล์แนบในอีเมลที่ส่งจาก Excel

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


2.1.1 ส่งอีเมลไฟล์บางไฟล์เป็นไฟล์แนบ

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

1 กด อื่น ๆ + F11 กุญแจ

2. ในการเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างคลิก สิ่งที่ใส่เข้าไป > โมดูล. จากนั้นวางโค้ด VBA ต่อไปนี้ลงในหน้าต่างโมดูล (รหัส)

รหัส VBA: อีเมลไฟล์ในโฟลเดอร์เป็นไฟล์แนบจาก Excel

Sub EmailWithAttachments()
'Updated by Extendoffice 20220802
    Dim xStrFile As String
    Dim xFilePath As String
    Dim xFileDlg As FileDialog
    Dim xFileDlgItem As Variant
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
    If xFileDlg.Show = -1 Then
        With xMailOut
            .BodyFormat = olFormatRichText
            .To = "xxx@aaa.com"
            .Subject = "test"
            .HTMLBody = "test"
            For Each xFileDlgItem In xFileDlg.SelectedItems
                .Attachments.Add xFileDlgItem
            Next xFileDlgItem
            .Display
        End With
    End If
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

หมายเหตุ:

1) ในบรรทัด .To = xxx@aaa.comกรุณาเปลี่ยน xxx@aaa.com ด้วยที่อยู่อีเมลของผู้รับของคุณเอง
2) เปลี่ยนหัวเรื่องอีเมลและเนื้อหาอีเมลแยกกันในบรรทัด . เรื่อง = "ทดสอบ" และ .HTMLBody = "ทดสอบ";
3) คุณสามารถเพิ่มผู้รับ Cc และ Bcc ได้ตามที่คุณต้องการ เพียงเพิ่มสองบรรทัดต่อไปนี้ใต้บรรทัดถึง = xxx@aaa.com.
.CC = "ที่อยู่อีเมล"
.BCC = "ที่อยู่อีเมล"

3 จากนั้นคลิก เครื่องมือ > อ้างอิง ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร เอกสารอ้างอิง - VBAProject กล่องโต้ตอบ ให้ค้นหาและทำเครื่องหมายที่ ไลบรารีอ็อบเจ็กต์ Microsoft Outlook 16.0 แลวคลิกปุ the ม OK เพื่อบันทึกการเปลี่ยนแปลง

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

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


2.1.2 ส่งอีเมลแผ่นงานปัจจุบันเป็นไฟล์แนบ

ถ้าคุณต้องการส่งอีเมลแผ่นงานปัจจุบันเป็นไฟล์แนบจาก Excel คุณสามารถใช้สคริปต์ VBA ในส่วนนี้ได้

1 กด อื่น ๆ + F11 กุญแจ

2. ในการเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างคลิก แทรก > โมดูล. จากนั้นวางโค้ด VBA ต่อไปนี้ลงในไฟล์ โมดูล (รหัส) หน้าต่าง

รหัส VBA: ส่งอีเมลแผ่นงานปัจจุบันเป็นไฟล์แนบ

Sub SendWorkSheet()
'Update by Extendoffice 20220802
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 = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte features"
    .Body = "Please check and read this document."
    .Attachments.Add Wb2.FullName
    .Display
    '.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Application.ScreenUpdating = True
End Sub

หมายเหตุ:

1) ในบรรทัด .ถึง = xxx@aaa.comกรุณาเปลี่ยน xxx@aaa.com ด้วยที่อยู่อีเมลของผู้รับจริง หากคุณต้องการที่อยู่อีเมลมากกว่าหนึ่งที่อยู่ โปรดแยกที่อยู่อีเมลเหล่านั้นด้วยเครื่องหมายอัฒภาค
2) เปลี่ยนหัวเรื่องอีเมลและเนื้อหาอีเมลแยกกันในบรรทัด .ubject = "คุณลักษณะ kte" และ .Body = "โปรดตรวจสอบและอ่านเอกสารนี้";
3) ในสองบรรทัดต่อไปนี้:
.CC = "ที่อยู่อีเมล"
.BCC = "ที่อยู่อีเมล"
หากคุณต้องการเพิ่มผู้รับ cc และ bcc ให้แทนที่ข้อความ “ที่อยู่อีเมล์” ในบรรทัดที่มีที่อยู่อีเมลที่คุณต้องการ
หากคุณไม่ต้องการผู้รับ cc และ bcc เพียงเพิ่มเครื่องหมายอะพอสทรอฟี ' ก่อนแต่ละบรรทัด

3 กด F5 เพื่อเรียกใช้โค้ด จากนั้นเวิร์กชีตปัจจุบันจะถูกบันทึกเป็นเวิร์กบุ๊ก Excel และแทรกลงในหน้าต่างข้อความเป็นไฟล์แนบโดยอัตโนมัติ ดูภาพหน้าจอ:

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


2.1.3 ส่งอีเมลสมุดงานปัจจุบันเป็นไฟล์แนบ

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

1 กด อื่น ๆ + F11 กุญแจ

2. ในการเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างคลิก สิ่งที่ใส่เข้าไป > โมดูล. จากนั้นวางโค้ด VBA ต่อไปนี้ลงในหน้าต่างโมดูล (รหัส)

รหัส VBA: ส่งอีเมลสมุดงานปัจจุบันเป็นไฟล์แนบจาก Excel

Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

หมายเหตุ:

1) ในบรรทัด .To = xxx@aaa.comกรุณาเปลี่ยน xxx@aaa.com ด้วยที่อยู่อีเมลของผู้รับจริง หากคุณต้องการที่อยู่อีเมลมากกว่าหนึ่งที่อยู่ โปรดแยกที่อยู่อีเมลเหล่านั้นด้วยเครื่องหมายอัฒภาค
2) เปลี่ยนหัวเรื่องอีเมลและเนื้อหาอีเมลแยกกันในบรรทัด .ubject = "คุณลักษณะ kte" และ .Body = "โปรดตรวจสอบและอ่านเอกสารนี้";
3) ในสองบรรทัดต่อไปนี้:
.CC = "ที่อยู่อีเมล"
.BCC = "ที่อยู่อีเมล"
หากคุณต้องการเพิ่มผู้รับ cc และ bcc ให้แทนที่ข้อความ “ที่อยู่อีเมล์” ในบรรทัดที่มีที่อยู่อีเมลที่คุณต้องการ
หากคุณไม่ต้องการผู้รับ cc และ bcc เพียงเพิ่มเครื่องหมายอะพอสทรอฟี ' ก่อนแต่ละบรรทัด

3 กด F5 เพื่อเรียกใช้โค้ด จากนั้นเวิร์กบุ๊กปัจจุบันจะถูกแทรกลงในหน้าต่างข้อความเป็นไฟล์แนบโดยอัตโนมัติ ดูภาพหน้าจอ:


2.1.4 ส่งอีเมลทั้งสมุดงานเป็นไฟล์แนบ PDF

สำหรับคนส่วนใหญ่ พวกเขามักจะบันทึกเวิร์กบุ๊ก Excel เป็นไฟล์ PDF แล้วส่งเป็นไฟล์แนบให้ผู้อื่น ในส่วนนี้ ฉันจะแสดงวิธีการส่งอีเมลโดยตรงจาก Excel ด้วยสมุดงานที่เปิดอยู่ในปัจจุบันเป็นไฟล์แนบ PDF โดยไม่ต้องบันทึกสมุดงานเป็นไฟล์ PDF ด้วยตนเอง

1 กด อื่น ๆ + F11 กุญแจ

2. ในการเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างคลิก สิ่งที่ใส่เข้าไป > โมดูล. จากนั้นวางโค้ด VBA ต่อไปนี้ลงในหน้าต่างโมดูล (รหัส)

รหัส VBA: ส่งอีเมลทั้งสมุดงานเป็นไฟล์แนบ PDF

Sub SendWorkBookAsPDF()
'Update 20220803
Dim Wb As Workbook
Dim FilePath As String
Dim FileName As String
Dim xOutApp As Object
Dim xOutMail As Object
On Error Resume Next

Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
FileName = Left(Wb.Name, (InStrRev(Wb.Name, ".", -1, vbTextCompare) - 1)) & Format(Now, "dd-mmm-yy h-mm-ss") & ".pdf"
FilePath = Environ$("temp") & "\" & FileName

Wb.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
    FilePath, Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
    False

Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
With xOutMail
       .To = "xxx@aaa.com"
       .CC = "Email Address"
       .BCC = "Email Address"
       .Subject = "test"
       .Body = "test"
       .Attachments.Add FilePath
       .Display   'or use .Send
   End With
Kill FilePath
Set xOutMail = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub

หมายเหตุ:

1) ในบรรทัด .To = xxx@aaa.comโปรดแทนที่ xxx@aaa.com ด้วยที่อยู่อีเมลของผู้รับจริง หากคุณต้องการที่อยู่อีเมลมากกว่าหนึ่งที่อยู่ โปรดแยกที่อยู่อีเมลเหล่านั้นด้วยเครื่องหมายอัฒภาค
2) เปลี่ยนหัวเรื่องอีเมลและเนื้อหาอีเมลแยกกันในบรรทัด . เรื่อง = "ทดสอบ" และ .Body = "ทดสอบ";
3) ในสองบรรทัดต่อไปนี้:
.CC = "ที่อยู่อีเมล"
.BCC = "ที่อยู่อีเมล"
หากคุณต้องการเพิ่มผู้รับ cc และ bcc ให้แทนที่ข้อความ “ที่อยู่อีเมล” ในบรรทัดที่มีที่อยู่อีเมลที่คุณต้องการ
หากคุณไม่ต้องการผู้รับ cc และ bcc เพียงเพิ่มเครื่องหมายอะพอสทรอฟี ' ก่อนแต่ละบรรทัด
4) ชื่อของไฟล์ PDF จะเหมือนกับชื่อของสมุดงานต้นฉบับ และเวลาที่คุณเรียกใช้รหัสจะถูกเพิ่มไปยังชื่อสมุดงานด้วย หากคุณไม่ต้องการเพิ่มการประทับเวลาในชื่อไฟล์ โปรดลบ & รูปแบบ (ตอนนี้ "dd-mmm-yy h-mm-ss") จากบรรทัดต่อไปนี้
ชื่อไฟล์ = ซ้าย (Wb.Name, (InStrRev (Wb.Name, ".", -1, vbTextCompare) - 1)) & รูปแบบ (ตอนนี้ "dd-mmm-yy h-mm-ss") & ".pdf "

3 กด F5 คีย์เพื่อเรียกใช้รหัส จากนั้นเวิร์กบุ๊กปัจจุบันจะถูกแทรกโดยอัตโนมัติในหน้าต่างข้อความใหม่เป็นไฟล์แนบ PDF ดูภาพหน้าจอ:


2.1.5 ส่งอีเมลแผ่นงานปัจจุบันเป็นไฟล์แนบ PDF

ตัวอย่างเช่น มีสมุดงานชื่อ "ยอดขายรายเดือน" และคุณได้เสร็จสิ้นตารางรายงานการขายในแผ่นงานชื่อ "รายงานการขาย" และต้องการส่งแผ่นงานนี้เป็นไฟล์ PDF ให้กับเพื่อนร่วมงานของคุณ รหัส VBA ต่อไปนี้สามารถช่วยคุณได้

1 กด อื่น ๆ + F11 กุญแจ

2. ในการเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างคลิก แทรก > โมดูล. จากนั้นวางโค้ด VBA ต่อไปนี้ลงในหน้าต่างโมดูล (รหัส)

รหัส VBA: ส่งอีเมลแผ่นงานปัจจุบันเป็นไฟล์แนบ PDF

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .Body = "test"
    .Attachments.Add FileName
    .Display
    '.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

หมายเหตุ:

1) ในบรรทัด .To = xxx@aaa.comกรุณาเปลี่ยน xxx@aaa.com ด้วยที่อยู่อีเมลของผู้รับจริง หากคุณต้องการที่อยู่อีเมลมากกว่าหนึ่งที่อยู่ โปรดแยกที่อยู่อีเมลเหล่านั้นด้วยเครื่องหมายอัฒภาค
2) เปลี่ยนหัวเรื่องอีเมลและเนื้อหาอีเมลแยกกันในบรรทัด . เรื่อง = "ทดสอบ" และ .Body = "ทดสอบ";
3) ในสองบรรทัดต่อไปนี้:
.CC = "ที่อยู่อีเมล"
.BCC = "ที่อยู่อีเมล"
หากคุณต้องการเพิ่มผู้รับ cc และ bcc ให้แทนที่ข้อความ “ที่อยู่อีเมล” ในบรรทัดที่มีที่อยู่อีเมลที่คุณต้องการ
หากคุณไม่ต้องการผู้รับ cc และ bcc เพียงเพิ่มเครื่องหมายอะพอสทรอฟี ' ก่อนแต่ละบรรทัด
4) ชื่อของไฟล์ PDF จะเป็น: ชื่อของเวิร์กบุ๊กต้นฉบับ_ชื่อของเวิร์กชีตต้นฉบับ. ในกรณีนี้ ชื่อของ PDF จะเป็นรายงานยอดขายรายเดือน

3 กด F5 คีย์เพื่อเรียกใช้รหัส จากนั้นแผ่นงานปัจจุบันจะถูกแทรกโดยอัตโนมัติในหน้าต่างข้อความใหม่เป็นไฟล์แนบ PDF ดูภาพหน้าจอ:


2.2 แทรกลายเซ็น Outlook ในอีเมลที่ส่งจาก Excel

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

รหัส VBA สองรายการแสดงอยู่ด้านล่าง

รหัส VBA 1: รหัสช่วยรักษาลายเซ็น Outlook

รหัส VBA 2: รหัสช่วยส่งอีเมลแผ่นงานปัจจุบันเป็นไฟล์แนบ PDF

รหัส VBA 1: เก็บลายเซ็น Outlook ไว้

.HTMLBody = "Email body" & "
" & .HTMLBody

รหัส VBA 2: ส่งอีเมลแผ่นงานปัจจุบันเป็นไฟล์แนบ PDF

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .Body = "test"
    .Attachments.Add FileName
    .Display
    '.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

1. ปกติต้องกด อื่น ๆ + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2 ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างคลิก สิ่งที่ใส่เข้าไป > โมดูล. จากนั้นวางโค้ด VBA 2 ด้านบนลงในหน้าต่างโมดูล (รหัส)

3 หากต้องการเก็บลายเซ็นเริ่มต้นของ Outlook ในอีเมลที่ส่งจาก Excel คุณต้องแก้ไขรหัส VBA 2 ดังนี้:

1) เปลี่ยนไฟล์ .ร่างกาย สอดคล้องกับ รหัส VBA 1;
2) ย้ายเส้น .แสดง ใต้เส้น ด้วย OutlookMail (หรือด้วย xMailOut ในรหัสอื่น). ดูภาพหน้าจอ:

นี่คือรหัสที่สมบูรณ์หลังจากแก้ไข

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .Display
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .HTMLBody = "Email body" & "
" & .HTMLBody .Attachments.Add FileName '.Send End With Kill FileName Set OutlookMail = Nothing Set OutlookApp = Nothing End Sub

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


3. ส่งอีเมลจาก Excel โดยอัตโนมัติเมื่อตรงตามเงื่อนไข (พร้อมสคริปต์ VBA)

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

3.1 ส่งอีเมลโดยอัตโนมัติเมื่อเซลล์ถึงค่าที่กำหนด

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

1. ในแผ่นงานมีตารางการขาย ให้คลิกขวาที่แท็บแผ่นงานแล้วคลิก ดูรหัส จากเมนูคลิกขวา

2. ในการเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างวางรหัส VBA ต่อไปนี้ใน แผ่น (รหัส) หน้าต่าง

รหัส VBA: ส่งอีเมลโดยอัตโนมัติเมื่อเซลล์ถึงค่าที่กำหนดใน Excel

Dim xRg As Range
'Update by Extendoffice 20200803
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Cells.Count > 1 Then Exit Sub
Set xRg = Intersect(Range("D6"), Target)
If xRg Is Nothing Then Exit Sub
If IsNumeric(Target.Value) And Target.Value > 10000 Then
Call Mail_small_Text_Outlook
End If
End Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
On Error Resume Next
With xOutMail
.To = "xxx@aaa.com"
.CC = "Email address"
.BCC = "Email address"
.Subject = "test"
.Body = xMailBody
.Display 'or use .Send
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub

Private Sub Worksheet_Calculate()
Dim xI As Integer
Dim xRg As Range
Set xRg = Range("D6")
On Error GoTo Err01
xI = Int(xRg.Value)
If xI > 10000 Then
Call Mail_small_Text_Outlook
End If
Err01:
End Sub

หมายเหตุ:

1) D6 เป็นเซลล์ที่มีค่าที่คุณจะส่งอีเมลตาม
2) > 10000 คือเงื่อนไข ซึ่งหมายความว่าอีเมลจะถูกส่งเมื่อค่าใน D6 มากกว่า 10000
3) ช่วง("D6") ในบรรทัดต่อไปนี้หมายความว่าเนื้อหาอีเมลจะอ้างอิงค่าใน D6
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
4) ในบรรทัด .To = xxx@aaa.comกรุณาเปลี่ยน xxx@aaa.com ด้วยที่อยู่อีเมลของผู้รับจริง หากคุณต้องการที่อยู่อีเมลมากกว่าหนึ่งที่อยู่ โปรดแยกที่อยู่อีเมลเหล่านั้นด้วยเครื่องหมายอัฒภาค
5) เปลี่ยนหัวเรื่องอีเมลในบรรทัด . เรื่อง = "ทดสอบ".
6) ในสองบรรทัดต่อไปนี้:
.CC = "ที่อยู่อีเมล"
.BCC = "ที่อยู่อีเมล"
หากคุณต้องการเพิ่มผู้รับ cc และ bcc ให้แทนที่ข้อความ “ที่อยู่อีเมล” ในบรรทัดที่มีที่อยู่อีเมลที่คุณต้องการ
หากคุณไม่ต้องการผู้รับ cc และ bcc เพียงเพิ่มเครื่องหมายอะพอสทรอฟี ' ก่อนแต่ละบรรทัด

จากนี้ไปเมื่อค่าในเซลล์ D6 เกิน 10000 อีเมลจะถูกสร้างขึ้นดังแสดงในภาพหน้าจอด้านล่าง


3.2 ส่งอีเมลโดยอัตโนมัติเมื่อค่าของเซลล์เปลี่ยนแปลง

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

1. ในแผ่นงานมีตารางการขาย ให้คลิกขวาที่แท็บแผ่นงานแล้วคลิก ดูรหัส จากเมนูคลิกขวา

2. ในการเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน วางรหัส VBA ต่อไปนี้ในหน้าต่างแผ่นงาน (รหัส)

รหัส VBA: ส่งอีเมลโดยอัตโนมัติเมื่อค่าของเซลล์ที่ระบุเปลี่ยนไป

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220803
Dim xRgSel As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
Dim xBoolean As Boolean
Dim xItsRG As Range
Dim xDDs As Range
Dim xDs As Range
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xBoolean = False
Set xRg = Range("B14")

Set xItsRG = Intersect(Target, xRg)
Set xDDs = Intersect(Target.DirectDependents, xRg)
Set xDs = Intersect(Target.Dependents, xRg)
If Not (xItsRG Is Nothing) Then
Set xRgSel = xItsRG
xBoolean = True
ElseIf Not (xDDs Is Nothing) Then
Set xRgSel = xDDs
xBoolean = True
ElseIf Not (xDs Is Nothing) Then
Set xRgSel = xDs
xBoolean = True
End If

ActiveWorkbook.Save
If xBoolean Then
Debug.Print xRgSel.Address

Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "The cell " & xRgSel.Address(False, False) & _
" in the worksheet '" & Me.Name & "' were modified on " & _
Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
" by " & Environ$("username") & "."

With xMailItem
.To = "xxx@aaa.com"
.CC = "Email address"
.BCC = "Email address"
.Subject = "Worksheet modified"
.Body = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Display
End With
Set xRgSel = Nothing
Set xOutApp = Nothing
Set xMailItem = Nothing
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

หมายเหตุ: ในรหัส

1) B14 ในรหัสหมายความว่าเมื่อค่าของเซลล์ B14 เปลี่ยนไป คุณจะส่งอีเมล
2) ในบรรทัด .To = xxx@aaa.comกรุณาเปลี่ยน xxx@aaa.com ด้วยที่อยู่อีเมลของผู้รับจริง หากคุณต้องการที่อยู่อีเมลมากกว่าหนึ่งที่อยู่ โปรดแยกที่อยู่อีเมลเหล่านั้นด้วยเครื่องหมายอัฒภาค
3) เปลี่ยนหัวเรื่องอีเมลในบรรทัด .Subject = "แก้ไขเวิร์กชีต".
4) ในสองบรรทัดต่อไปนี้:
.CC = "ที่อยู่อีเมล"
.BCC = "ที่อยู่อีเมล"
หากคุณต้องการเพิ่มผู้รับ cc และ bcc ให้แทนที่ข้อความ “ที่อยู่อีเมล” ในบรรทัดที่มีที่อยู่อีเมลที่คุณต้องการ
หากคุณไม่ต้องการผู้รับ cc และ bcc เพียงเพิ่มเครื่องหมายอะพอสทรอฟี ' ก่อนแต่ละบรรทัด

จากนี้ไป เมื่อค่าในเซลล์ B14 เปลี่ยนไป ข้อความ Outlook จะถูกสร้างขึ้นโดยอัตโนมัติดังที่แสดงในภาพหน้าจอด้านล่าง


3.3 ส่งอีเมลโดยอัตโนมัติเมื่อบันทึกเวิร์กบุ๊ก

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

1 กด อื่น ๆ + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. ในหน้าต่างนี้ ให้ดับเบิลคลิก สมุดงานนี้ ใน โครงการ จากนั้นวางโค้ด VBA ต่อไปนี้ใน ThisWorkbook (รหัส) หน้าต่าง

รหัส VBA: ส่งอีเมลโดยอัตโนมัติเมื่อบันทึกเวิร์กบุ๊ก

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
'Updated by Extendoffice 20220804
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xName As String
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailItem = xOutApp.CreateItem(0)
    xName = ActiveWorkbook.FullName
    With xMailItem
        .To = "xxx@aaa.com"
        .CC = "Email address"
        .BCC = "Email address"
        .Subject = "The workbook has been updated"
        .Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
        .Attachments.Add xName
        .Display
       '.send
    End With
    Set xMailItem = Nothing
    Set xOutApp = Nothing
End Sub

หมายเหตุ: ในรหัส

1) ในบรรทัด .To = xxx@aaa.comกรุณาเปลี่ยน xxx@aaa.com ด้วยที่อยู่อีเมลของผู้รับจริง หากคุณต้องการที่อยู่อีเมลมากกว่าหนึ่งที่อยู่ โปรดแยกที่อยู่อีเมลเหล่านั้นด้วยเครื่องหมายอัฒภาค
2) เปลี่ยนหัวเรื่องอีเมลและเนื้อหาแยกกันในบรรทัด .Subject = "อัปเดตสมุดงานแล้ว" และ .Body = "สวัสดี" & Chr(13) & Chr(13) & "ไฟล์ได้รับการอัปเดตแล้ว".
3) ในสองบรรทัดต่อไปนี้:
.CC = "ที่อยู่อีเมล"
.BCC = "ที่อยู่อีเมล"
หากคุณต้องการเพิ่มผู้รับ cc และ bcc ให้แทนที่ข้อความ “ที่อยู่อีเมล” ในบรรทัดที่มีที่อยู่อีเมลที่คุณต้องการ
หากคุณไม่ต้องการผู้รับ cc และ bcc เพียงเพิ่มเครื่องหมายอะพอสทรอฟี ' ก่อนแต่ละบรรทัด

3. จากนี้ไปเมื่อบันทึกเวิร์กบุคโดยการกดปุ่ม Ctrl + S ปุ่มหรือคลิกที่ปุ่ม ลด ปุ่ม อีเมล Outlook จะถูกสร้างขึ้นโดยอัตโนมัติ คุณจะเห็นว่าเวิร์กบุ๊กปัจจุบันถูกแนบเป็นสิ่งที่แนบมา และฟิลด์จะถูกเติมด้วยเนื้อหาที่ระบุ ดูภาพหน้าจอ:

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

1) คลิก เนื้อไม่มีมัน > บันทึกเป็นแล้วเลือกโฟลเดอร์ที่จะบันทึกไฟล์
2) ใน บันทึกเป็น กล่องโต้ตอบ เปลี่ยนชื่อไฟล์ตามที่คุณต้องการใน ชื่อไฟล์ กล่องข้อความให้เลือก สมุดงานที่เปิดใช้งานแมโคร Excel ใน บันทึกเป็นชนิด รายการแบบหล่นลงแล้วคลิกไฟล์ ลด ปุ่ม. ดูภาพหน้าจอ:


3.4 ส่งอีเมลตามเวลาที่กำหนดโดยอัตโนมัติ

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

1 กด อื่น ๆ + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2 ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างคลิก สิ่งที่ใส่เข้าไป > โมดูล. จากนั้นวางโค้ด VBA ต่อไปนี้ในหน้าต่างโมดูล

VBA code1 : ส่งอีเมลสมุดงานปัจจุบันเป็นไฟล์แนบจาก Excel

Sub Timer()
    If Weekday(Date) = vbFriday Then
        SendWorkBook
        Application.OnTime TimeValue("09:00:00"), "Timer"
    Else
        Application.OnTime TimeValue("09:00:00"), "Timer"
    End If
End Sub

Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

3. ในหน้าต่างนี้ ให้ดับเบิลคลิก สมุดงานนี้ ใน โครงการ จากนั้นวางโค้ด VBA ต่อไปนี้ใน ThisWorkbook (รหัส) หน้าต่าง

รหัส VBA 2: ส่งอีเมลตามเวลาที่กำหนดโดยอัตโนมัติ

Private Sub Workbook_Open()
    Application.OnTime TimeValue("09:00:00"), "Timer"
End Sub

หมายเหตุ:

1) ในรหัส VBA 1 วันศุกร์ ในบรรทัดต่อไปนี้หมายความว่าอีเมลจะถูกส่งโดยอัตโนมัติทุกวันศุกร์
ถ้าวันธรรมดา (วันที่) = vbFriday แล้ว
2) ในรหัส VBA 1 และรหัส VBA 2 เวลา 09: 00: 00 หมายความว่าอีเมลจะถูกส่งในเวลา 9 น. ของวันใดวันหนึ่ง
คุณสามารถเปลี่ยนวันและเวลาได้ตามต้องการ
3) เมื่อรหัสทำงาน อีเมลจะถูกสร้างขึ้น หากคุณไม่ต้องการให้หน้าต่างข้อความปรากฏขึ้นและต้องการส่งโดยตรง โปรดลบบรรทัด .แสดง จากรหัส VBA 1 และลบ จุดลูกน้ำ ก่อนสาย '.ส่ง.

4. บันทึกรหัสแล้วบันทึกสมุดงานเป็นสมุดงานที่เปิดใช้งานมาโครของ Excel ดังนี้

4.1) คลิก เนื้อไม่มีมัน > บันทึกเป็นแล้วเลือกโฟลเดอร์ที่จะบันทึกไฟล์
4.2) ใน บันทึกเป็น กล่องโต้ตอบ เปลี่ยนชื่อไฟล์ตามที่คุณต้องการใน ชื่อไฟล์ กล่องข้อความให้เลือก สมุดงานที่เปิดใช้งานแมโคร Excel ใน บันทึกเป็นชนิด รายการแบบหล่นลงแล้วคลิกไฟล์ ลด ปุ่ม. ดูภาพหน้าจอ:

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


4. หัวข้อเพิ่มเติม

ส่วนนี้จะรวบรวมหัวข้ออื่นๆ ที่คุณอาจพบเมื่อส่งอีเมลจาก Excel

4.1 ส่งอีเมลช่วงของเซลล์จาก Excel (พร้อมสคริปต์ VBA)

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

4.1.1 ส่งอีเมลช่วงที่เป็นส่วนหนึ่งของเนื้อหาเนื้อหาจาก Excel

คุณสามารถเรียกใช้โค้ด VBA ต่อไปนี้เพื่อส่งช่วงของเซลล์โดยเป็นส่วนหนึ่งของเนื้อหาอีเมลจาก Excel

1 กด อื่น ๆ + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2 ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างคลิก เครื่องมือ > อ้างอิง. แล้วตรวจสอบ ไลบรารีอ็อบเจ็กต์ Microsoft Outlook 16.0 แล้วคลิก OK ใน เอกสารอ้างอิง - VBAProject กล่องโต้ตอบ

3 คลิก สิ่งที่ใส่เข้าไป > โมดูลจากนั้นวางโค้ด VBA ต่อไปนี้ในไฟล์ โมดูล (รหัส) หน้าต่าง

รหัส VBA: ส่งช่วงของเซลล์โดยเป็นส่วนหนึ่งของเนื้อหาอีเมลจาก Excel

Sub SendARangeofCells()
'Updated by Extendoffice 20220809
    Dim xRg As Range
    Dim I, J As Long
    Dim xAddress As String
    Dim xMailOut As Object
    Dim xOutApp As Object
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select range you need to paste into email body", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    With xMailOut
        .Subject = "test"
        .To = "xxx@aaa.com"
        .CC = "Email address"
        .BCC = "Email address"
        .HTMLBody = RangetoHTML(xRg)
        .Display
        '.Send
    End With
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

 ' The following VBA script is cited from this page:
 ' https://stackoverflow.com/questions/18663127/paste-excel-range-in-outlook
Function RangetoHTML(rng As Range)
' By Ron de Bruin.
    Dim fso As Object
    Dim ts As Object
    Dim TempFile As String
    Dim TempWB As Workbook

    TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"

    'Copy the range and create a new workbook to past the data in
    rng.Copy
    Set TempWB = Workbooks.Add(1)
    With TempWB.Sheets(1)
        .Cells(1).PasteSpecial Paste:=8
        .Cells(1).PasteSpecial xlPasteValues, , False, False
        .Cells(1).PasteSpecial xlPasteFormats, , False, False
        .Cells(1).Select
        Application.CutCopyMode = False
        On Error Resume Next
        .DrawingObjects.Visible = True
        .DrawingObjects.Delete
        On Error GoTo 0
    End With

    'Publish the sheet to a htm file
    With TempWB.PublishObjects.Add( _
         SourceType:=xlSourceRange, _
         Filename:=TempFile, _
         Sheet:=TempWB.Sheets(1).Name, _
         Source:=TempWB.Sheets(1).UsedRange.Address, _
         HtmlType:=xlHtmlStatic)
        .Publish (True)
    End With

    'Read all data from the htm file into RangetoHTML
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
    RangetoHTML = ts.ReadAll
    ts.Close
    RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
                          "align=left x:publishsource=")

    'Close TempWB
    TempWB.Close savechanges:=False

    'Delete the htm file we used in this function
    Kill TempFile

    Set ts = Nothing
    Set fso = Nothing
    Set TempWB = Nothing
End Function

หมายเหตุ: ในรหัส

1) ในบรรทัด .To = xxx@aaa.comกรุณาเปลี่ยน xxx@aaa.com ด้วยที่อยู่อีเมลของผู้รับจริง หากคุณต้องการที่อยู่อีเมลมากกว่าหนึ่งที่อยู่ โปรดแยกที่อยู่อีเมลเหล่านั้นด้วยเครื่องหมายอัฒภาค
2) ในสองบรรทัดต่อไปนี้:
.CC = "ที่อยู่อีเมล"
.BCC = "ที่อยู่อีเมล"
หากคุณต้องการเพิ่มผู้รับ cc และ bcc ให้แทนที่ข้อความ “ที่อยู่อีเมล” ในบรรทัดที่มีที่อยู่อีเมลที่คุณต้องการ
หากคุณไม่ต้องการผู้รับ cc และ bcc เพียงเพิ่มเครื่องหมายอะพอสทรอฟี ' ก่อนแต่ละบรรทัด

4 กด F5 คีย์เพื่อเรียกใช้รหัส ในที่โผล่ขึ้นมา Kutools สำหรับ Excel กล่องโต้ตอบ เลือกช่วงของเซลล์ที่คุณต้องการส่งโดยเป็นส่วนหนึ่งของเนื้อหาอีเมล จากนั้นคลิก OK. ดูภาพหน้าจอ:

จากนั้นอีเมล Outlook จะถูกสร้างขึ้นโดยอัตโนมัติ คุณจะเห็นว่าช่วงที่คุณเลือกในเวิร์กชีตถูกแทรกลงในเนื้อหาอีเมล ดูภาพหน้าจอ:


4.1.2 ส่งอีเมลช่วงเป็นไฟล์แนบจาก Excel

หากคุณต้องการส่งอีเมลช่วงของเซลล์ในเวิร์กชีตเป็นไฟล์แนบจาก Excel คุณสามารถลองใช้รหัส VBA ต่อไปนี้

1 กด อื่น ๆ + F11 กุญแจ

2. ในการเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างคลิก สิ่งที่ใส่เข้าไป > โมดูล. จากนั้นวางโค้ด VBA ต่อไปนี้ในไฟล์ โมดูล (รหัส) หน้าต่าง

รหัส VBA: ส่งอีเมลช่วงเป็นไฟล์แนบจาก Excel

Sub SendRange()
'Update 20220809
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 = "xxx@aaa.com"
    .CC = "Email address"
    .BCC = "Email address"
    .Subject = "Monthly sales for 2021"
    .Body = "Hello, please check and read this document. "
    .Attachments.Add Wb2.FullName
    .Display
    '.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

หมายเหตุ:

1) ในบรรทัด .To = xxx@aaa.comกรุณาเปลี่ยน xxx@aaa.com ด้วยที่อยู่อีเมลของผู้รับจริง หากคุณต้องการที่อยู่อีเมลมากกว่าหนึ่งที่อยู่ โปรดแยกที่อยู่อีเมลเหล่านั้นด้วยเครื่องหมายอัฒภาค
2) เปลี่ยนหัวเรื่องอีเมลและเนื้อหาอีเมลแยกกันในบรรทัด .Subject = "ยอดขายรายเดือนสำหรับปี 2021" และ .Body = "สวัสดี โปรดตรวจสอบและอ่านเอกสารนี้";
3) ในสองบรรทัดต่อไปนี้:
.CC = "ที่อยู่อีเมล"
.BCC = "ที่อยู่อีเมล"
หากคุณต้องการเพิ่มผู้รับ cc และ bcc ให้แทนที่ข้อความ “ที่อยู่อีเมล์” ในบรรทัดที่มีที่อยู่อีเมลที่คุณต้องการ
หากคุณไม่ต้องการผู้รับ cc และ bcc เพียงเพิ่มเครื่องหมายอะพอสทรอฟี ' ก่อนแต่ละบรรทัด

3 กด F5 คีย์เพื่อเรียกใช้รหัส ในที่โผล่ขึ้นมา Kutools สำหรับ Excel กล่องโต้ตอบ เลือกช่วงของเซลล์ที่คุณต้องการส่งเป็นไฟล์แนบในอีเมล จากนั้นคลิก OK. ดูภาพหน้าจอ:

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


4.2 ส่งอีเมลเมื่อมีการคลิกปุ่มใน Excel

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

1 คลิก ผู้พัฒนา > สิ่งที่ใส่เข้าไป > ปุ่มคำสั่ง (ActiveX Control). จากนั้นวาดปุ่มคำสั่งในเวิร์กชีต

เคล็ดลับ: หากคุณมีปุ่มคำสั่งอยู่แล้ว ให้ข้ามขั้นตอนนี้

2 กด อื่น ๆ + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง. ในหน้าต่างคลิก สิ่งที่ใส่เข้าไป > โหมดจากนั้นวางโค้ด VBA (รหัสที่ใช้ส่งอีเมลเวิร์กบุ๊กปัจจุบันเป็นไฟล์แนบจาก Excel) ในหน้าต่างโมดูล (โค้ด)

คลิกที่นี่เพื่อรับรหัส.

หมายเหตุ: นี่คือชื่อของมาโครที่คุณสร้างในขั้นตอนที่ 2 คือ ส่งสมุดงาน.

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

4. ตอนนี้คุณต้องกำหนดมาโครให้กับปุ่มคำสั่ง คลิกขวาที่ปุ่มคำสั่ง เลือก ดูรหัส จากเมนูคลิกขวา

5. จากนั้น Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างปรากฏขึ้น คุณจะเห็นสองบรรทัดต่อไปนี้อยู่ในรายการ แผ่น (รหัส) หน้าต่าง

Private Sub CommandButton1_Click()
End Sub

6. ป้อนชื่อของแมโครที่มีอยู่ภายในขั้นตอนย่อยสำหรับปุ่มคำสั่ง

7 กด อื่น ๆ + Q ปุ่มเพื่อปิดไฟล์ โปรแกรมแก้ไข Visual Basicและคลิก ผู้พัฒนา > โหมดการออกแบบ เพื่อปิดโหมดการออกแบบ

ตอนนี้คุณสามารถคลิกปุ่มคำสั่งเพื่อส่งอีเมลพร้อมสมุดงานปัจจุบันเป็นไฟล์แนบในอีเมล


4.3 ส่งอีเมลจากบัญชีอีเมลที่ระบุ

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

ในกรณีนี้จำเป็นต้องใช้รหัสต่อไปนี้

รหัส VBA 1:

Dim OutlookMail As Outlook.MailItem

รหัส VBA 2:

For Each xAccount In OutlookApp.Session.Accounts
  If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("zxm@addin99.com") Then 'Specify your email account here
    OutlookMail.SendUsingAccount = xAccount
  End If
Next

จะใช้โค้ด VBA ด้านบนได้อย่างไร?

1) ในรหัสของคุณเอง คุณต้องแทนที่บรรทัดเช่น “หรี่ OutlookMail เป็นวัตถุ” ด้วยรหัส VBA 1;
2) เพิ่มโค้ด VBA 2 ใต้บรรทัด “เกี่ยวกับข้อผิดพลาดต่อไป” ในรหัสของคุณ จากนั้นระบุที่อยู่อีเมลที่คุณจะใช้ในการส่งอีเมลในรหัส VBA 2

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

1 กด อื่น ๆ + F11 กุญแจ ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างคลิก เครื่องมือ > อ้างอิง. แล้วตรวจสอบ ไลบรารีอ็อบเจ็กต์ Microsoft Outlook 16.0 แล้วคลิก OK ใน เอกสารอ้างอิง - VBAProject กล่องโต้ตอบ

2 คลิก สิ่งที่ใส่เข้าไป > โมดูล. จากนั้นวางโค้ด VBA ต่อไปนี้ในไฟล์ โมดูล (รหัส) หน้าต่าง

รหัส VBA: ส่งสมุดงานปัจจุบันเป็นไฟล์แนบอีเมลจาก Excel ผ่านบัญชี Outlook ที่ระบุ

Sub SendWorkBook()
'Update by Extendoffice 20220809
Dim OutlookApp As Object
Dim OutlookMail As Outlook.MailItem 'important! Here can’t be declared as Object
Dim xAccount As Account
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(olMailItem)
On Error Resume Next
'The following lines helps to specify a certian email account
For Each xAccount In OutlookApp.Session.Accounts
  If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("zxm@addin99.com") Then 'Specify your email account here
    OutlookMail.SendUsingAccount = xAccount
  End If
Next
'End
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

3 กด F5 คีย์เพื่อเรียกใช้รหัส จากนั้นข้อความอีเมล Outlook จะปรากฏขึ้น คุณจะเห็นว่า จาก ฟิลด์จะถูกเติมด้วยบัญชีอีเมลที่คุณระบุในรหัส


4.4 ส่งอีเมลเมื่อถึงวันที่

หากคุณต้องการส่งอีเมลตามวันครบกำหนดที่เฉพาะเจาะจง เช่น ตามที่แสดงในภาพหน้าจอด้านล่าง มีตารางโครงการ เมื่อวันครบกำหนดในช่วง E2:E7 เท่ากับหรือน้อยกว่า 7 วันนับจากวันนี้ (สมมติว่าวันที่ปัจจุบันคือ 2022/8/4)อีเมลจะถูกส่งไปยังผู้นำโครงการที่เกี่ยวข้องโดยอัตโนมัติและแจ้งให้ทราบว่าโครงการกำลังจะหมดอายุ

1. ในแผ่นงานประกอบด้วยตารางโครงการ ให้คลิกขวาที่แท็บแผ่นงานแล้วคลิก ดูรหัส จากเมนูคลิกขวา

2. ในการเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างวางรหัส VBA ต่อไปนี้ใน แผ่น (รหัส) หน้าต่าง

รหัส VBA: ส่งอีเมลโดยอัตโนมัติเมื่อถึงวันครบกำหนด

Public Sub SendMailDueDate()
'Updated by Extendoffice 20220804
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Range("E2:E7") 'Please reference the due date column range
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Range("C2:C7") 'Please reference the email addresses column range
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Range("D2:D7") 'Please reference the remark column range (the remark used to notify project leaders of the expiration of the project)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.Count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "

" xMailBody = "" xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf xMailBody = xMailBody & "Remark : " & xRgText.Offset(i - 1).Value & vbCrLf xMailBody = xMailBody & "" Set xMailItem = xOutApp.CreateItem(0) With xMailItem .Subject = xMailSubject .To = xRgSendVal .CC = "Email address" .BCC = "Email address" .HTMLBody = xMailBody .Display '.Send End With Set xMailItem = Nothing End If End If Next Set xOutApp = Nothing End Sub

หมายเหตุ: ในรหัส

1) ในบรรทัดต่อไปนี้ E2: E7 มีวันครบกำหนดที่คุณจะส่งอีเมลตาม C2: C7 มีที่อยู่อีเมลที่คุณจะส่งอีเมลไป และ D2: D7 มีข้อสังเกตที่คุณจะเพิ่มในเนื้อหาอีเมลเพื่อแจ้งผู้รับว่าโครงการกำลังจะหมดอายุ คุณสามารถเปลี่ยนช่วงได้ตามต้องการ
ตั้งค่า xRgDate = ช่วง ("E2:E7")
ตั้งค่า xRgSend = ช่วง ("C2:C7")
ตั้งค่า xRgText = ช่วง ("D2:D7")
2) บรรทัดต่อไปนี้หมายความว่าวันที่ครบกำหนดต้องมากกว่า 1 วันและเท่ากับหรือน้อยกว่า 7 วันนับจากวันนี้ คุณสามารถเปลี่ยนได้ตามที่คุณต้องการ
ถ้า CDate(xRgDateVal) - วันที่ <= 7 และ CDate(xRgDateVal) - วันที่ > 0 จากนั้น
3) ในบรรทัด .To = xxx@aaa.comกรุณาเปลี่ยน xxx@aaa.com ด้วยที่อยู่อีเมลของผู้รับจริง หากคุณต้องการที่อยู่อีเมลมากกว่าหนึ่งที่อยู่ โปรดแยกที่อยู่อีเมลเหล่านั้นด้วยเครื่องหมายอัฒภาค
4) เปลี่ยนหัวเรื่องอีเมลในบรรทัด .Subject = "แก้ไขเวิร์กชีต".
5) ในสองบรรทัดต่อไปนี้:
.CC = "ที่อยู่อีเมล"
.BCC = "ที่อยู่อีเมล"
หากคุณต้องการเพิ่มผู้รับ cc และ bcc ให้แทนที่ข้อความ “ที่อยู่อีเมล” ในบรรทัดที่มีที่อยู่อีเมลที่คุณต้องการ
หากคุณไม่ต้องการผู้รับ cc และ bcc เพียงเพิ่มเครื่องหมายอะพอสทรอฟี ' ก่อนแต่ละบรรทัด

3 กด F5 คีย์เพื่อเรียกใช้รหัส จากนั้น หากวันหมดอายุตรงกับเงื่อนไข ระบบจะสร้างอีเมลที่เกี่ยวข้อง ในกรณีนี้ อีเมลสองฉบับจะถูกสร้างขึ้นตามที่แสดงในภาพหน้าจอด้านล่าง


5. เครื่องมือที่มีประโยชน์เพื่อช่วยให้คุณส่งอีเมลจาก Excel . ได้อย่างง่ายดาย

หากคุณเป็นมือใหม่ VBA วิธีการข้างต้นอาจไม่ง่ายสำหรับคุณในการจัดการ ที่นี่เราขอแนะนำ Kutools สำหรับ Excel's ส่งอีเมลล์ ด้วยคุณสมบัตินี้ คุณสามารถส่งอีเมลจาก Excel ได้อย่างง่ายดายด้วยการคลิกเพียงไม่กี่ครั้งเท่านั้น กรุณาทำดังนี้

ก่อนที่จะใช้ Kutools สำหรับ Excelโปรด ดาวน์โหลดและติดตั้งในตอนแรก.

5.1 สร้างรายชื่อส่งเมลที่มีฟิลด์อีเมลที่คุณต้องการได้อย่างง่ายดาย

ก่อนใช้คุณสมบัติส่งอีเมล คุณต้องสร้างรายชื่อส่งเมลที่มีฟิลด์อีเมลที่คุณต้องการ คุณลักษณะสร้างรายชื่อผู้รับจดหมายสามารถช่วยได้ที่นี่

1 คลิก Kutools พลัส > สร้างรายชื่อผู้รับจดหมาย.

2. ในการเปิด สร้างรายชื่อผู้รับจดหมาย หน้าต่างคุณต้องกำหนดค่าดังนี้

2.1) ใน คอลัมน์สำหรับรายชื่อผู้รับจดหมาย ส่วน ตรวจสอบฟิลด์ที่คุณต้องการในอีเมลของคุณ
2.2) ใน แนบไฟล์ ส่วน ตรวจสอบสิ่งที่แนบมาอย่างน้อยหนึ่งรายการที่คุณต้องการ
2.3) ระบุสถานที่เพื่อวางรายชื่อผู้รับจดหมาย
2.4) คลิกปุ่ม สร้างบัญชีตัวแทน ปุ่ม. ดูภาพหน้าจอ:

จากนั้นจะมีการสร้างตารางรายชื่อผู้รับจดหมายตัวอย่างตามที่แสดงในภาพหน้าจอด้านล่าง

3. ตอนนี้ คุณต้องแทนที่ข้อมูลเดิมในตัวอย่างด้วยข้อมูลภาคสนามของคุณเอง

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

  หากคุณต้องการทดลองใช้ฟรี (

30
วัน) ของโปรแกรมอรรถประโยชน์นี้ กรุณาคลิกเพื่อดาวน์โหลดแล้วไปใช้การดำเนินการตามขั้นตอนข้างต้น

5.2 ส่งอีเมลอย่างง่ายดายรวมถึงฟิลด์ที่คุณสร้างในรายชื่อส่งเมล

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

1. เลือกรายชื่อผู้รับจดหมายทั้งหมด คลิก Kutools พลัส > ส่งอีเมลล์.

2 ใน ส่งอีเมลล์ กล่องโต้ตอบ โปรดกำหนดค่าต่อไปนี้

2.1) ฟิลด์จะถูกเติมลงในกล่องโต้ตอบของแต่ละฟิลด์โดยอัตโนมัติโดยฟิลด์ที่คุณระบุในรายชื่อผู้รับจดหมาย
เคล็ดลับ: หากคุณไม่ต้องการฟิลด์ใดฟิลด์หนึ่งในขณะนี้ ให้เลือกตัวเลือกว่างในรายการดรอปดาวน์
2.2) แทรกตัวยึดตำแหน่ง (ไม่บังคับ): หากคุณต้องการแทรกข้อมูลตัวแปรในเนื้อหาอีเมล
ตัวอย่างเช่น คุณอาจต้องส่งอีเมลไปยังผู้รับหลายรายด้วยชื่อส่วนบุคคล คุณต้องวางเคอร์เซอร์ในเนื้อหาอีเมลที่คุณต้องการแทรกตัวแทน เลือกฟิลด์ “จ: ชื่อจริง” (หรือฟิลด์ชื่ออื่นในรายชื่ออีเมลของคุณ) จากนั้นคลิกปุ่ม Insert ตัวยึด ปุ่ม;
เมื่อผู้รับได้รับอีเมล เนื้อหาอีเมลจะเหมือนเดิมแต่ชื่อจะไม่ซ้ำกันสำหรับแต่ละรายการ
2.3) เขียนเนื้อหาอีเมลตามที่คุณต้องการ
2.4) ตรวจสอบให้แน่ใจว่า ส่งอีเมลผ่าน Outlook เลือกช่อง;
2.5) คลิกปุ่ม ส่ง ปุ่ม. ดูภาพหน้าจอ:

3. จากนั้นก Kutools สำหรับ Excel กล่องโต้ตอบจะปรากฏขึ้นเพื่อแจ้งจำนวนอีเมลที่ส่ง ให้คลิกที่ OK เพื่อปิดกล่องโต้ตอบนี้

เคล็ดลับ: คุณสามารถไปที่ไฟล์ รายการที่ถูกส่ง โฟลเดอร์ใน Outlook ของคุณเพื่อตรวจสอบอีเมลที่คุณส่ง


5.3 ส่งอีเมลด้วยเนื้อหา HTML ได้อย่างง่ายดาย (รวมถึงไฮเปอร์ลิงก์ รูปภาพ ฯลฯ)

คุณลักษณะส่งอีเมลนี้ช่วยให้คุณสร้างอีเมล HTML ซึ่งรวมถึงไฮเปอร์ลิงก์ รูปภาพ ขนาดแบบอักษรและสีแบบอักษรต่างๆ เป็นต้น

หลังจาก การสร้างรายชื่อผู้รับจดหมายที่มีฟิลด์อีเมลที่คุณต้องการ,

เมื่อคุณ กำหนดค่ากล่องโต้ตอบส่งอีเมลคุณสามารถสร้างเนื้อหาให้สมบูรณ์ได้โดยใช้ตัวเลือกบนแถบเครื่องมือ

ดูภาพหน้าจอด้านล่าง:


5.4 แทรกลายเซ็นเริ่มต้นของ Outlook ได้อย่างง่ายดายเมื่อส่งอีเมล

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

หลังจาก การสร้างรายชื่อผู้รับจดหมายที่มีฟิลด์อีเมลที่คุณต้องการ,

เมื่อ กำหนดค่ากล่องโต้ตอบส่งอีเมล, คุณต้องคลิก Options > ใช้การตั้งค่าลายเซ็นของ Outlook.

หมายเหตุ: โปรดตรวจสอบให้แน่ใจว่ามีเครื่องหมายถูกแสดงก่อนตัวเลือก ใช้การตั้งค่าลายเซ็นของ Outlook

เมื่อผู้รับได้รับอีเมล พวกเขาสามารถเห็นลายเซ็นเริ่มต้นของ Outlook ที่แสดงอยู่ที่ส่วนท้ายของเนื้อหาอีเมล


5.5 ส่งอีเมลจากบัญชีอีเมลที่ระบุได้อย่างง่ายดาย

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

หลังจาก การสร้างรายชื่อผู้รับจดหมายที่มีฟิลด์อีเมลที่คุณต้องการ,

เมื่อ กำหนดค่ากล่องโต้ตอบส่งอีเมล, คุณต้องคลิก Options > ส่งจากจากนั้นคลิกบัญชีอีเมลที่คุณต้องการส่งอีเมล

หมายเหตุ: หลังจากเลือกบัญชีอีเมลแล้ว เครื่องหมายถูกจะปรากฏขึ้นก่อนหน้านั้น

คลิก โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับคุณลักษณะส่งอีเมลนี้

  หากคุณต้องการทดลองใช้ฟรี (

30
วัน) ของโปรแกรมอรรถประโยชน์นี้ กรุณาคลิกเพื่อดาวน์โหลดแล้วไปใช้การดำเนินการตามขั้นตอนข้างต้น

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


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

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

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

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

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (0)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ

ช่องทางอื่นๆ

ลิขสิทธิ์© 2009 - wwwextendoffice.com | สงวนลิขสิทธิ์. ขับเคลื่อนโดย ExtendOffice. | แผนผังเว็บไซต์
Microsoft และโลโก้ Office เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Microsoft Corporation ในสหรัฐอเมริกาและ / หรือประเทศอื่น ๆ
ได้รับการปกป้องโดย Sectigo SSL