Bỏ qua nội dung chính

Hướng dẫn Excel - Gửi email từ Excel

Thông thường, chúng tôi sử dụng các ứng dụng email như Outlook, Gmail, v.v. để gửi email. Tuy nhiên, nhiều người lưu trữ dữ liệu trong sổ làm việc Excel và cần gửi một số dữ liệu cùng với những người khác trong khi họ đang làm việc với nó. Do đó, họ cần gửi email trực tiếp từ sổ làm việc Excel, giúp tiết kiệm thời gian vận hành ứng dụng email. Hướng dẫn từng bước này sẽ chỉ cho bạn cách gửi email từ Excel trong các điều kiện khác nhau.

Chú thích: Trước khi áp dụng các phương pháp sau, bạn cần định cấu hình ứng dụng email Outlook trong máy tính của mình và đặt nó làm ứng dụng email mặc định của bạn.

Mục lục: [ Ẩn giấu ]

(Nhấp vào bất kỳ tiêu đề nào trong mục lục bên dưới hoặc bên phải để điều hướng đến chương tương ứng.)

1. Những điều cơ bản về cách gửi email từ Excel

Phần này giới thiệu những kiến ​​thức cơ bản về cách gửi email từ Excel.

1.1 Gửi email từ Excel với các hàm tích hợp sẵn của Excel

Nếu bạn chỉ muốn gửi các email đơn giản từ Excel, chỉ bao gồm các trường Tới, Chủ đề, Cc và nội dung. Các hàm tích hợp trong Excel có thể giúp bạn.


1.1.1 Gửi email từ Excel với một công thức

Như được hiển thị trong bảng bên dưới, để gửi các email khác nhau từ Excel dựa trên các trường nhất định, bạn có thể sử dụng tham chiếu ô của các trường đã cho để tạo các công thức Siêu kết nối khác nhau để hoàn thành việc này. Sau khi tạo các siêu liên kết email, bạn có thể nhấp vào siêu liên kết mà bạn cần để gửi email tự động.

Lưu ý: Nếu có nhiều hơn một người nhận trong các trường Tới hoặc Cc, vui lòng phân tách chúng bằng dấu chấm phẩy.

Phần này được chia thành bốn phần để hiển thị cho bạn các bước để thêm địa chỉ email, (các) người nhận Cc, dòng chủ đề và nội dung riêng biệt vào công thức Siêu kết nối. Hãy làm như sau.

Cú pháp và đối số của SIÊU LIÊN KẾT chức năng như sau.

cú pháp

HYPERLINK(link_location, [friendly_name])

Lập luận

Liên kết_vị trí (bắt buộc): Đường dẫn và tên tệp đến tài liệu sẽ được mở;
Mẹo: Trong hướng dẫn này, tất cả các trường chúng ta cần cho một email, chẳng hạn như địa chỉ email của người nhận, (các) người nhận Cc, dòng chủ đề và nội dung, nên được đặt trong đối số đầu tiên "link_location".
Tên_hàng (tùy chọn): Giá trị bước nhảy được hiển thị trong ô.

1.1.1.1 Thêm địa chỉ email vào công thức Siêu liên kết

Ở đây chúng tôi sử dụng "mailto:" như một phần của công thức để thêm người nhận email. Trong ví dụ này, địa chỉ email của người nhận đầu tiên nằm trong ô B2, vì vậy chúng ta cần thêm "mailto:" và tham chiếu nó đến ô B2.

“Mailto:” & B2

1. Chọn một ô để hiển thị siêu kết nối. Trong trường hợp này, tôi chọn ô F2.

2. Sau đó nhập công thức sau vào đó.

=HYPERLINK("mailto:"&B2)

Chú thích: Nếu bạn nhấn đăng ký hạng mục thi , một siêu liên kết sẽ được tạo như thể hiện trong ảnh chụp màn hình bên dưới. Khi bạn nhấp vào liên kết, một email Outlook sẽ được tạo và địa chỉ email của người nhận sẽ tự động được điền vào trường Tới.

Địa chỉ email của người nhận hiện đã được thêm vào công thức Siêu kết nối. Vui lòng tiếp tục với các bước sau để thêm dòng chủ đề, (các) người nhận Cc và nội dung khi bạn cần.


1.1.1.2 Thêm (các) người nhận Cc vào công thức Siêu kết nối

Để thêm (các) người nhận Cc vào chức năng Siêu kết nối, vui lòng thêm "? cc =" như một phần của công thức như sau.

"? cc =" & C2
trong đó C2 chứa địa chỉ email của người nhận cc.

Công thức trong ô F2 sẽ như sau:

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


1.1.1.3 Thêm dòng chủ đề vào công thức Siêu liên kết

Để thêm dòng chủ đề vào chức năng Siêu kết nối, vui lòng thêm "& chủ đề =" như một phần của công thức như sau.

"& chủ đề =" & D2
trong đó C2 chứa chủ đề email.

Công thức trong ô F2 bây giờ sẽ giống như sau:

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


1.1.1.4 Thêm nội dung văn bản có ngắt dòng vào công thức Siêu kết nối

Bước cuối cùng là thêm nội dung vào công thức Siêu kết nối. Như bạn có thể thấy trong ví dụ, hai dòng văn bản trong E2 được phân tách bằng dấu ngắt dòng và bạn muốn giữ ngắt dòng trong nội dung email. Outlook có nhận ra ngắt dòng trong trường hợp này không? Hãy kiểm tra nó.

Để thêm văn bản nội dung vào công thức Siêu kết nối, bạn cần thêm “& Body =” như một phần của công thức như sau.

"& body =" & E2
trong đó E2 chứa nội dung của email.

Công thức trong ô F2 hiện được hiển thị như sau:

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

Lưu ý: Nếu bạn nhấn đăng ký hạng mục thi và nhấp vào liên kết. Bạn có thể thấy trong email mới rằng nội dung trong phần thân email được hiển thị trên cùng một dòng.

Để hiển thị nội dung email trong các dòng riêng biệt, bạn cần sửa đổi nội dung ô bằng cách thêm mã ký tự xuống dòng % 0A vào văn bản mà bạn cần chèn ngắt dòng. Xem ảnh chụp màn hình:


1.1.1.5 Chỉ định văn bản để hiển thị cho siêu kết nối

Trong các bước trên, chúng ta đã hoàn thành đối số Link_location với các trường email. Ở đây, trong phần này, chúng ta sẽ kết thúc đối số tiếp theo [tên_hắn_hạn].

Trong trường hợp này, tôi muốn ô siêu kết nối hiển thị văn bản là “Gửi email tới xx”, Trong đó xx là tên người nhận trong A2. Vì vậy, công thức trong F2 nên được thay đổi thành:

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

Nhấn đăng ký hạng mục thi phím để nhận kết quả.

Chọn ô công thức này và kéo Xử lý tự động điền xuống để tạo các siêu liên kết email khác. Xem ảnh chụp màn hình:


1.1.2 Gửi email từ Excel với chức năng Siêu kết nối

Ngoại trừ việc sử dụng công thức Siêu kết nối ở trên, bạn có thể tạo siêu kết nối email theo cách thủ công với Chèn Liên kết trong Excel. Phần này sẽ chỉ cho bạn các bước.

1. Nhấp chuột phải vào email mà bạn muốn chèn siêu kết nối, chọn liên kết từ menu chuột phải.

2. Trong cửa sổ bật lên Chèn siêu liên kết hộp thoại, bạn cần cấu hình như sau.

2.1) Chọn Địa chỉ E-mail ở khung bên trái.
2.2) Trong Văn bản để hiển thị hộp văn bản, nhập văn bản bạn muốn hiển thị trong ô;
Lời khuyên: Bạn không thể sử dụng tham chiếu ô trong hộp thoại này, vì vậy bạn nên nhập thủ công các trường email như sau.
2.3) Trong Địa chỉ E-mail hộp văn bản, bạn cần nhập các địa chỉ email sau.
mailto: địa chỉ email
Vui lòng thay thế văn bản “Địa chỉ email”Với địa chỉ email thực của bạn. Nếu bạn có nhiều địa chỉ email, hãy phân tách chúng bằng dấu chấm phẩy.
2.4) Trong Tiêu Đề hộp văn bản, bạn có thể chỉ định chủ đề email và nội dung email của mình ngay tại đây. Vui lòng cấu hình như sau:
Email topic & body = Nội dung email
Trong trường hợp này, tôi nhập Giảm giá hàng tháng & body = Xin chào,% 0AEmail đã nhận được.
> trong đó chủ đề là Bán hàng tháng;
> nội dung email là:
Chào,
Đã nhận được email. (% 0A là mã ký tự xuống dòng có thể được Outlook nhận dạng)
2.5) Nhấp vào OK để lưu siêu kết nối. Xem ảnh chụp màn hình:

Khi nhấp vào siêu liên kết, một email Outlook sẽ được tạo với các trường Tới, Chủ đề và Nội dung được chỉ định như trong ảnh chụp màn hình bên dưới.

Chú ý:

1) Với phương pháp này, bạn phải tạo từng siêu liên kết email theo cách thủ công.
2) Bạn không thể thêm trường Cc vào email bằng phương pháp này. Vì vậy, nếu bạn cần trường Cc, vui lòng thêm nó từ cửa sổ email mở mới.

1.2 Gửi email đến nhiều người nhận trong các ô bằng tập lệnh VBA

Trong ví dụ trên, bạn có thể thấy nhiều địa chỉ email được hiển thị trong một ô, được phân tách bằng dấu chấm phẩy. Nếu bạn có danh sách các địa chỉ email như được hiển thị trong ảnh chụp màn hình bên dưới và muốn gửi một email hoặc email độc lập cho tất cả chúng, mã VBA sau có thể giúp bạn.


1.2.1 Gửi email đến nhiều người nhận trong các ô có tập lệnh VBA

1. Trong trang tính có chứa tất cả các địa chỉ email bạn muốn gửi email đến. Nhấn nút Khác + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > mô-đun, và sau đó dán mã sau vào Mô-đun (Mã) cửa sổ.

Mã VBA: Gửi email đến một danh sách các địa chỉ email

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. Nhấn nút F5 phím để chạy mã và một Kutools cho Excel hộp thoại bật lên. Chọn danh sách địa chỉ email và nhấp vào OK.

Ghi chú:

1) Nếu bạn không muốn hộp thoại trên bật lên và muốn chỉ định trực tiếp dải địa chỉ email trong mã, vui lòng thay thế dòng này:
Đặt xRg = Application.InputBox ("Vui lòng chọn danh sách địa chỉ:", "Kutools cho Excel", xTxt,,,,, 8)
với
Đặt xRg = Range ("A2: A7")
2) Bạn có thể chỉ định chủ đề và nội dung email của riêng mình trong các dòng sau:
.Subject = "Kiểm tra"
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) Để gửi trực tiếp email mà không cần mở cửa sổ thư mới sau đây, bạn cần thay thế dòng này:
.Trưng bày
với
.Gửi

Sau khi chạy mã, tất cả các địa chỉ email trong phạm vi đã chọn được hiển thị trong trường Đến của cửa sổ thư. Xem ảnh chụp màn hình:


1.2.2 Gửi email riêng biệt đến từng người nhận được liệt kê trong các ô có tập lệnh VBA

Đoạn mã trên thêm tất cả các địa chỉ email trong phạm vi đã chọn vào trường Đến của cửa sổ thư. Nếu bạn muốn gửi email đến từng địa chỉ email được liệt kê trong các ô riêng biệt mà không để chúng nhìn thấy địa chỉ email của nhau, bạn có thể thử tập lệnh VBA sau đây.

1. Trong trang tính có chứa tất cả các địa chỉ email bạn muốn gửi email đến. Nhấn nút Khác + F11 chìa khóa để mở cửa sổ Microsoft Visual Basic for Applications.

2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > Mô-đun, và sau đó dán mã sau vào cửa sổ Mô-đun (Mã).

Mã VBA: Gửi email đến từng địa chỉ email được liệt kê trong các ô riêng biệt

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. Sau đó nhấn vào CÔNG CỤ > Tài liệu tham khảo. Trong tạp chí Tài liệu tham khảo - VBAProject hộp thoại, tìm và kiểm tra Thư viện đối tượng Microsoft Outlook 16.0 hộp và sau đó nhấp vào OK để lưu các thay đổi.

4. Nhấn nút F5 phím để chạy mã và một Kutools cho Excel hộp thoại bật lên. Chọn danh sách địa chỉ email và nhấp vào OK.

Ghi chú:

1) Nếu bạn không muốn hộp thoại trên bật lên và muốn chỉ định trực tiếp dải địa chỉ email trong mã, vui lòng thay thế dòng này:
Đặt xRg = Application.InputBox ("Vui lòng chọn danh sách địa chỉ:", "Kutools cho Excel", xTxt,,,,, 8)
với
Đặt xRg = Range ("A2: A7")
2) Bạn có thể chỉ định chủ đề và nội dung email của riêng mình trong các dòng sau:
.Subject = "Test"
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) Để gửi trực tiếp email mà không cần mở các cửa sổ thư sau, bạn cần thay thế dòng này:
.Trưng bày
với
.Gửi

Trong ví dụ này, có sáu địa chỉ email trong phạm vi đã chọn, do đó, sáu cửa sổ thư Outlook sẽ được tạo tự động với địa chỉ email riêng biệt được liệt kê trong trường Đến như được hiển thị trong ảnh chụp màn hình bên dưới.

5. Cuối cùng, nhấp vào Gửi để gửi từng email một.


2. Chèn tệp đính kèm hoặc chữ ký Outlook trong email được gửi từ Excel (với tập lệnh VBA)

Phần này sẽ chỉ cho bạn cách chèn tệp đính kèm hoặc chữ ký mặc định của Outlook trong email được gửi từ Excel.

2.1 Chèn tệp đính kèm trong email được gửi từ Excel

Ở đây chúng tôi mô tả các trường hợp chèn tệp đính kèm khác nhau và bạn có thể chọn phương pháp tùy theo nhu cầu của mình. Trong phần này, bạn có thể tìm hiểu (nhấp vào bất kỳ liên kết nào sau đây để điều hướng đến phương pháp tương ứng):


2.1.1 Gửi email một tệp nhất định dưới dạng tệp đính kèm

Bạn có thể áp dụng mã VBA sau để gửi email một hoặc nhiều tệp trong thư mục dưới dạng tệp đính kèm từ Excel.

1. Nhấn nút Khác + F11 phím.

2. Trong phần mở đầu Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > Mô-đun. Sau đó dán mã VBA sau vào cửa sổ Mô-đun (Mã).

Mã VBA: Gửi tệp qua email trong một thư mục dưới dạng tệp đính kèm từ 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 = ""
            .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

Chú ý:

1) Trong dòng .Để = , vui lòng thay thế với địa chỉ email của chính người nhận của bạn;
2) Thay đổi chủ đề email và nội dung email riêng biệt trong dòng .Subject = "test".HTMLBody = "test";
3) Bạn có thể thêm người nhận Cc và Bcc nếu bạn cần. Chỉ cần thêm hai dòng sau vào bên dưới dòng.Tới = .
.CC = "địa chỉ email"
.BCC = "địa chỉ email"

3. Sau đó nhấn vào CÔNG CỤ > Tài liệu tham khảo. Trong tạp chí Tài liệu tham khảo - VBAProject hộp thoại, tìm và kiểm tra Thư viện đối tượng Microsoft Outlook 16.0 hộp và sau đó nhấp vào OK để lưu các thay đổi.

4. Nhấn nút F5 phím để chạy mã, sau đó Xem cửa sổ bật lên, vui lòng chọn các tệp bạn cần đính kèm trong email, sau đó nhấp vào OK.

Sau đó, một cửa sổ thông báo hiện lên. Bạn có thể thấy các tệp đã chọn được hiển thị dưới dạng tệp đính kèm trong trường Đính kèm.


2.1.2 Gửi bảng tính hiện tại qua email dưới dạng tệp đính kèm

Nếu bạn muốn gửi trang tính hiện tại qua email dưới dạng tệp đính kèm từ Excel, bạn có thể áp dụng tập lệnh VBA trong phần này.

1. Nhấn nút Khác + F11 phím.

2. Trong phần mở đầu Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp chèn > Mô-đun. Sau đó, dán mã VBA sau vào Mô-đun (Mã) cửa sổ.

Mã VBA: Gửi bảng tính hiện tại qua email dưới dạng tệp đính kèm

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 = ""
    .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

Ghi chú:

1) Trong dòng.Tới = , vui lòng thay thế với địa chỉ email thực của người nhận. Nếu bạn cần nhiều địa chỉ email, vui lòng phân tách chúng bằng dấu chấm phẩy.
2) Thay đổi chủ đề email và nội dung email riêng biệt trong dòng .Subject = "kte tính năng".Body = "Vui lòng kiểm tra và đọc tài liệu này.";
3) Trong hai dòng sau:
.CC = "địa chỉ email"
.BCC = "địa chỉ email"
Nếu bạn muốn thêm người nhận cc và bcc, hãy thay thế văn bản “Địa chỉ email”Trong các dòng có địa chỉ email bạn cần.
Nếu bạn không cần người nhận cc và bcc, chỉ cần thêm dấu nháy đơn ' trước mỗi dòng.

3. Nhấn nút F5 để chạy mã, sau đó trang tính hiện tại được lưu dưới dạng sổ làm việc Excel và tự động được chèn vào cửa sổ thông báo dưới dạng tệp đính kèm. Xem ảnh chụp màn hình:

Lưu ý: Sổ làm việc đính kèm chỉ chứa trang tính hiện tại có cùng tên với sổ làm việc gốc. Và thời gian bạn chạy mã cũng được thêm vào tên sổ làm việc.


2.1.3 Gửi sổ làm việc hiện tại qua email dưới dạng tệp đính kèm

Sau khi học mã VBA để gửi email trang tính hiện tại dưới dạng tệp đính kèm từ Excel, tại đây chúng tôi cung cấp một tập lệnh VBA khác để giúp bạn gửi email toàn bộ sổ làm việc dưới dạng tệp đính kèm. Hãy làm như sau.

1. Nhấn nút Khác + F11 phím.

2. Trong phần mở đầu Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > Module. Sau đó dán mã VBA sau vào cửa sổ Mô-đun (Mã).

Mã VBA: Gửi sổ làm việc hiện tại qua email dưới dạng tệp đính kèm từ 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 = ""
    .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

Ghi chú:

1) Trong dòng .Để = , vui lòng thay thế với địa chỉ email thực của người nhận. Nếu bạn cần nhiều địa chỉ email, vui lòng phân tách chúng bằng dấu chấm phẩy.
2) Thay đổi chủ đề email và nội dung email riêng biệt trong dòng .Subject = "kte tính năng".Body = "Vui lòng kiểm tra và đọc tài liệu này.";
3) Trong hai dòng sau:
.CC = "địa chỉ email"
.BCC = "địa chỉ email"
Nếu bạn muốn thêm người nhận cc và bcc, hãy thay thế văn bản “Địa chỉ email”Trong các dòng có địa chỉ email bạn cần.
Nếu bạn không cần người nhận cc và bcc, chỉ cần thêm dấu nháy đơn ' trước mỗi dòng.

3. Nhấn nút F5 để chạy mã, sau đó sổ làm việc hiện tại được tự động chèn vào cửa sổ thông báo dưới dạng tệp đính kèm. Xem ảnh chụp màn hình:


2.1.4 Gửi email toàn bộ sổ làm việc dưới dạng tệp đính kèm PDF

Đối với hầu hết mọi người, họ có xu hướng lưu sổ làm việc Excel dưới dạng tệp PDF và sau đó gửi nó dưới dạng tệp đính kèm cho người khác. Trong phần này, tôi sẽ chỉ cho bạn một cách để gửi email trực tiếp từ Excel với sổ làm việc đang mở hiện tại dưới dạng tệp đính kèm PDF mà không cần phải lưu sổ làm việc dưới dạng tệp PDF theo cách thủ công.

1. Nhấn nút Khác + F11 phím.

2. Trong phần mở đầu Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > Module. Sau đó dán mã VBA sau vào cửa sổ Mô-đun (Mã).

Mã VBA: Gửi email toàn bộ sổ làm việc dưới dạng tệp đính kèm 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 = ""
       .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

Ghi chú:

1) Trong dòng .Để = , vui lòng thay thế với địa chỉ email thực của người nhận. Nếu bạn cần nhiều địa chỉ email, vui lòng phân tách chúng bằng dấu chấm phẩy.
2) Thay đổi chủ đề email và nội dung email riêng biệt trong dòng .Subject = "test".Body = "kiểm tra";
3) Trong hai dòng sau:
.CC = "Địa chỉ Email"
.BCC = "Địa chỉ Email"
Nếu bạn muốn thêm người nhận cc và bcc, hãy thay thế văn bản “Email”Trong các dòng có địa chỉ email bạn cần.
Nếu bạn không cần người nhận cc và bcc, chỉ cần thêm dấu nháy đơn ' trước mỗi dòng.
4) Tên của tệp PDF sẽ giống với tên của sổ làm việc gốc. Và thời gian bạn chạy mã cũng sẽ được thêm vào tên sổ làm việc. Nếu bạn không cần thêm dấu thời gian vào tên tệp, vui lòng xóa & Định dạng (Bây giờ, "dd-mmm-yy h-mm-ss") từ dòng sau.
FileName = Left (Wb.Name, (InStrRev (Wb.Name, ".", -1, vbTextCompare) - 1)) & Định dạng (Bây giờ, "dd-mmm-yy h-mm-ss") & ".pdf "

3. Nhấn nút F5 phím để chạy mã. Sau đó, sổ làm việc hiện tại được tự động chèn vào cửa sổ thư mới dưới dạng tệp đính kèm PDF. Xem ảnh chụp màn hình:


2.1.5 Gửi bảng tính hiện tại qua email dưới dạng tệp đính kèm PDF

Ví dụ: có một sổ làm việc có tên là “Doanh số hàng tháng” và bạn đã hoàn thành bảng báo cáo bán hàng trong một trang tính có tên “báo cáo bán hàng” và muốn gửi trang tính này dưới dạng tệp PDF cho đồng nghiệp của mình. Mã VBA sau đây có thể giúp bạn.

1. Nhấn nút Khác + F11 phím.

2. Trong phần mở đầu Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp chèn > Module. Sau đó dán mã VBA sau vào cửa sổ Mô-đun (Mã).

Mã VBA: Gửi bảng tính hiện tại qua email dưới dạng tệp đính kèm 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 = ""
    .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

Ghi chú:

1) Trong dòng .Để = , vui lòng thay thế với địa chỉ email thực của người nhận. Nếu bạn cần nhiều địa chỉ email, vui lòng phân tách chúng bằng dấu chấm phẩy.
2) Thay đổi chủ đề email và nội dung email riêng biệt trong dòng .Subject = "test".Body = "kiểm tra";
3) Trong hai dòng sau:
.CC = "Địa chỉ Email"
.BCC = "Địa chỉ Email"
Nếu bạn muốn thêm người nhận cc và bcc, hãy thay thế văn bản “Email”Trong các dòng có địa chỉ email bạn cần.
Nếu bạn không cần người nhận cc và bcc, chỉ cần thêm dấu nháy đơn ' trước mỗi dòng.
4) Tên của tệp PDF sẽ là: tên của sổ làm việc ban đầu_tên của trang tính gốc. Trong trường hợp này, tên của tệp PDF sẽ là Báo cáo doanh số bán hàng hàng tháng.

3. Nhấn nút F5 phím để chạy mã. Sau đó, trang tính hiện tại được tự động chèn vào cửa sổ thư mới dưới dạng tệp đính kèm PDF. Xem ảnh chụp màn hình:


2.2 Chèn chữ ký Outlook trong các email được gửi từ Excel

Lấy trường hợp trên làm ví dụ, bạn áp dụng mã VBA trên để gửi trang tính hiện tại dưới dạng tệp đính kèm PDF từ Excel, nhưng không thể thêm chữ ký Outlook vào cửa sổ thư. Để giữ lại chữ ký mặc định của Outlook trong email được gửi từ Excel, phương pháp sau sẽ hữu ích.

Hai mã VBA được liệt kê bên dưới.

Mã VBA 1: Mã giúp giữ lại chữ ký Outlook.

Mã VBA 2: Mã giúp gửi trang tính hiện tại qua email dưới dạng tệp đính kèm PDF.

Mã VBA 1: Giữ lại chữ ký Outlook

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

Mã VBA 2: Gửi bảng tính hiện tại qua email dưới dạng tệp đính kèm 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 = ""
    .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. Thông thường, bạn cần nhấn Khác + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > Mô-đun. Sau đó dán mã VBA 2 ở trên vào cửa sổ Mô-đun (Mã).

3. Để giữ lại chữ ký mặc định của Outlook trong email được gửi từ Excel, bạn cần sửa đổi mã VBA 2 như sau:

1) Thay thế .Thân hình phù hợp với Mã VBA 1;
2) Di chuyển dòng .Trưng bày dưới dòng Với OutlookMail (hoặc Với xMailOut trong các mã khác). Xem ảnh chụp màn hình:

Đây là mã hoàn chỉnh sau khi sửa đổi.

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 = ""
    .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. Nhấn nút F5 phím để chạy mã. Sau đó, bạn sẽ nhận được một cửa sổ thư mới với trang tính hiện tại được đính kèm dưới dạng tệp PDF, trong khi chữ ký mặc định của Outlook sẽ tự động được chèn vào cuối nội dung email.


3. Tự động gửi email từ Excel khi một điều kiện được đáp ứng (với tập lệnh VBA)

Trong các ví dụ trên, bạn cần chạy mã theo cách thủ công để gửi email. Nếu bạn muốn tự động kích hoạt mã khi một điều kiện nhất định được đáp ứng, chẳng hạn như khi ô đạt đến một giá trị nhất định, khi giá trị của ô thay đổi, khi đến ngày, v.v., email sẽ được gửi tự động. Phần này liệt kê các điều kiện mà người dùng Excel thường tìm kiếm trong Google để giúp bạn tự động gửi email từ Excel khi một điều kiện nhất định được đáp ứng.

3.1 Tự động gửi email khi một ô đạt đến một giá trị nhất định

Như được hiển thị trong ảnh chụp màn hình bên dưới, giả sử bạn có một bảng bán hàng với ô D6 chứa tổng doanh số. Bạn muốn tự động gửi email cho sếp của mình dựa trên tổng doanh số, ví dụ: tạo hoặc gửi email tự động khi tổng doanh số vượt quá 10000 nhưng nếu tổng doanh thu bằng hoặc nhỏ hơn 10000, bạn không cần thực hiện hành động nào.

1. Trong trang tính có bảng bán hàng, hãy nhấp chuột phải vào tab trang tính và nhấp vào Xem mã từ menu chuột phải.

2. Trong phần mở đầu Microsoft Visual Basic cho các ứng dụng , dán mã VBA sau vào Trang tính (Mã) cửa sổ.

Mã VBA: Tự động gửi email khi một ô đạt đến một giá trị nhất định trong 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 = ""
.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

Chú ý:

1) D6 là ô có giá trị mà bạn sẽ gửi email dựa trên.
2) > 10000 là điều kiện, có nghĩa là một email sẽ được gửi khi giá trị trong D6 lớn hơn 10000.
3) Phạm vi (“D6”) trong dòng sau có nghĩa là nội dung email sẽ tham chiếu đến giá trị trong D6.
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
4) Trong dòng .Để = , vui lòng thay thế với địa chỉ email thực của người nhận. Nếu bạn cần nhiều địa chỉ email, vui lòng phân tách chúng bằng dấu chấm phẩy.
5) Thay đổi chủ đề email trong dòng .Subject = "test".
6) Trong hai dòng sau:
.CC = "Địa chỉ Email"
.BCC = "Địa chỉ Email"
Nếu bạn muốn thêm người nhận cc và bcc, hãy thay thế văn bản “Email”Trong các dòng có địa chỉ email bạn cần.
Nếu bạn không cần người nhận cc và bcc, chỉ cần thêm dấu nháy đơn ' trước mỗi dòng.

Từ bây giờ, khi giá trị trong ô D6 vượt quá 10000, một email sẽ được tạo như thể hiện trong ảnh chụp màn hình bên dưới.


3.2 Tự động gửi email khi giá trị ô thay đổi

Như được hiển thị trong ảnh chụp màn hình bên dưới, giả sử bạn nhận được một sổ làm việc có chứa doanh số hàng tháng trong các trang tính khác nhau và tổng doanh số trong một trang tính. Bạn cần xác minh tổng doanh số và nếu tổng doanh số được sửa đổi, hãy gửi lại sổ làm việc cho người gửi và thông báo cho người gửi rằng ô đã được sửa đổi.

1. Trong trang tính có bảng bán hàng, hãy nhấp chuột phải vào tab trang tính và nhấp vào Xem mã từ menu chuột phải.

2. Trong phần mở đầu Microsoft Visual Basic cho các ứng dụng , dán mã VBA sau vào cửa sổ Trang tính (Mã).

Mã VBA: Tự động gửi email khi giá trị ô được chỉ định thay đổi

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 = ""
.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

Chú ý: Trong mã,

1) B14 trong mã có nghĩa là khi giá trị của ô B14 thay đổi, bạn sẽ gửi một email.
2) Trong dòng .Để = , vui lòng thay thế với địa chỉ email thực của người nhận. Nếu bạn cần nhiều địa chỉ email, vui lòng phân tách chúng bằng dấu chấm phẩy.
3) Thay đổi chủ đề email trong dòng .Subject = "Trang tính đã sửa đổi".
4) Trong hai dòng sau:
.CC = "Địa chỉ Email"
.BCC = "Địa chỉ Email"
Nếu bạn muốn thêm người nhận cc và bcc, hãy thay thế văn bản “Email”Trong các dòng có địa chỉ email bạn cần.
Nếu bạn không cần người nhận cc và bcc, chỉ cần thêm dấu nháy đơn ' trước mỗi dòng.

Từ bây giờ, khi giá trị trong ô B14 thay đổi, một thông báo Outlook sẽ được tạo tự động như trong ảnh chụp màn hình bên dưới.


3.3 Tự động gửi email khi sổ làm việc được lưu

Nếu bạn có sổ làm việc cần chia sẻ với người khác sau khi sửa đổi, thông thường bạn cần lưu sổ làm việc, khởi chạy ứng dụng email, tạo email mới có đính kèm sổ làm việc này, soạn các trường tương ứng rồi gửi email. Phần này sẽ chỉ cho bạn phương pháp tạo email tự động mỗi khi bạn lưu sổ làm việc. Hãy làm như sau.

1. Nhấn nút Khác + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Trong cửa sổ này, nhấp đúp vào Sổ làm việc này trong Dự án , sau đó dán mã VBA sau vào ThisWorkbook (Mã) cửa sổ.

Mã VBA: Tự động gửi email khi sổ làm việc được lưu

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 = ""
        .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

Chú ý: Trong mã,

1) Trong dòng .Để = , vui lòng thay thế với địa chỉ email thực của người nhận. Nếu bạn cần nhiều địa chỉ email, vui lòng phân tách chúng bằng dấu chấm phẩy.
2) Thay đổi chủ đề và nội dung email riêng biệt trong các dòng .Subject = "Sổ làm việc đã được cập nhật".Body = "Xin chào" & Chr (13) & Chr (13) & "Tệp hiện đã được cập nhật.".
3) Trong hai dòng sau:
.CC = "Địa chỉ Email"
.BCC = "Địa chỉ Email"
Nếu bạn muốn thêm người nhận cc và bcc, hãy thay thế văn bản “Email”Trong các dòng có địa chỉ email bạn cần.
Nếu bạn không cần người nhận cc và bcc, chỉ cần thêm dấu nháy đơn ' trước mỗi dòng.

3. Từ bây giờ, khi lưu sổ làm việc bằng cách nhấn Ctrl + S phím hoặc nhấp vào Lưu , một email Outlook sẽ được tạo tự động. Bạn có thể thấy rằng sổ làm việc hiện tại được đính kèm dưới dạng tệp đính kèm và các trường được điền với nội dung được chỉ định. Xem ảnh chụp màn hình:

Lời khuyên: Nếu bạn thường xuyên sử dụng sổ làm việc này, ở đây khuyên bạn nên lưu sổ làm việc dưới dạng Sổ làm việc hỗ trợ macro Excel để lưu tập lệnh VBA để sử dụng trong tương lai. Các bước thực hiện như sau.

1) Nhấp Tập tin > Save As, và sau đó chọn một thư mục để lưu tệp.
2) Trong Save As hộp thoại, đổi tên tệp khi bạn cần trong Tên tập tin hộp văn bản, chọn Sổ làm việc hỗ trợ macro Excel trong Save as type danh sách thả xuống và cuối cùng nhấp vào Lưu cái nút. Xem ảnh chụp màn hình:


3.4 Tự động gửi email vào một thời điểm cụ thể

Giả sử bạn cần gửi email có sổ làm việc phân công nhiệm vụ cho ai đó mỗi sáng thứ sáu lúc 9 giờ sángvà muốn thực hiện việc này tự động trong Excel mà không cần phải vận hành ứng dụng email khách theo cách thủ công. Phần này sẽ chỉ cho bạn phương pháp để hoàn thành công việc đó.

1. Nhấn nút Khác + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > Module. Sau đó dán mã VBA sau vào cửa sổ Mô-đun.

Mã VBA1: Gửi sổ làm việc hiện tại qua email dưới dạng tệp đính kèm từ 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 = ""
    .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. Trong cửa sổ này, nhấp đúp vào Sổ làm việc này trong Dự án , sau đó dán mã VBA sau vào ThisWorkbook (Mã) cửa sổ.

Mã VBA 2: Tự động gửi email vào một thời điểm cụ thể

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

Chú ý:

1) Trong mã VBA 1, Thứ Sáu ở dòng sau có nghĩa là email sẽ được gửi tự động vào thứ Sáu hàng tuần;
If Weekday (Date) = vbFriday Then
2) Trong mã VBA 1 và mã VBA 2, thời gian 09:00:00 có nghĩa là email sẽ được gửi vào lúc 9 giờ sáng vào một ngày nhất định.
Bạn có thể thay đổi ngày và giờ khi bạn cần.
3) Khi mã chạy, một email sẽ được tạo. Nếu bạn không muốn cửa sổ tin nhắn bật lên và cần gửi trực tiếp, vui lòng xóa dòng .Trưng bày từ mã VBA 1 và xóa dấu nháy đơn trước dòng '.Gửi.

4. Lưu mã và sau đó lưu sổ làm việc dưới dạng sổ làm việc hỗ trợ macro Excel như sau.

4.1) Nhấp Tập tin > Save As, và sau đó chọn một thư mục để lưu tệp.
4.2) Trong Save As hộp thoại, đổi tên tệp khi bạn cần trong Tên tập tin hộp văn bản, chọn Sổ làm việc hỗ trợ macro Excel trong Save as type danh sách thả xuống và cuối cùng nhấp vào Lưu cái nút. Xem ảnh chụp màn hình:

5. Mở sổ làm việc hỗ trợ macro đã lưu của bạn, sau đó một email sẽ được tạo hoặc gửi tự động khi đến ngày và giờ.


4. Chủ đề bổ sung

Phần này thu thập các chủ đề khác mà bạn có thể gặp phải khi gửi email từ Excel.

4.1 Gửi email một loạt ô từ Excel (với tập lệnh VBA)

Giả sử có một bảng doanh số hàng tháng trong một bảng tính Excel như được hiển thị trong ảnh chụp màn hình bên dưới và bạn cần gửi bảng doanh số hàng tháng này cho những người khác dưới dạng nội dung của email hoặc dưới dạng tệp đính kèm trực tiếp. Ở đây chúng tôi cung cấp cho bạn hai phương pháp để hoàn thành việc đó.

4.1.1 Gửi email một dải ô như một phần của nội dung nội dung từ Excel

Bạn có thể chạy mã VBA sau để gửi một dải ô như một phần của nội dung email từ Excel

1. Nhấn nút Khác + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp CÔNG CỤ > dự án. Và sau đó kiểm tra Thư viện đối tượng Microsoft Outlook 16.0 hộp và nhấp vào OK trong Tài liệu tham khảo - VBAProject hộp thoại.

3. nhấp chuột Chèn > Mô-đun, sau đó dán mã VBA sau vào Mô-đun (Mã) cửa sổ.

Mã VBA: Gửi một dải ô như một phần của nội dung nội dung email từ 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 = ""
        .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

Chú ý: Trong mã,

1) Trong dòng .Để = , vui lòng thay thế với địa chỉ email thực của người nhận. Nếu bạn cần nhiều địa chỉ email, vui lòng phân tách chúng bằng dấu chấm phẩy.
2) Trong hai dòng sau:
.CC = "Địa chỉ Email"
.BCC = "Địa chỉ Email"
Nếu bạn muốn thêm người nhận cc và bcc, hãy thay thế văn bản “Email”Trong các dòng có địa chỉ email bạn cần.
Nếu bạn không cần người nhận cc và bcc, chỉ cần thêm dấu nháy đơn ' trước mỗi dòng.

4. Nhấn nút F5 phím để chạy mã. Trong cửa sổ bật lên Kutools cho Excel hộp thoại, chọn phạm vi ô bạn cần gửi như một phần của nội dung nội dung email, sau đó nhấp vào OK. Xem ảnh chụp màn hình:

Sau đó, một email Outlook sẽ được tạo tự động. Bạn có thể thấy rằng phạm vi bạn đã chọn trong trang tính được chèn vào nội dung email. Xem ảnh chụp màn hình:


4.1.2 Gửi một dải ô qua email dưới dạng tệp đính kèm từ Excel

Nếu bạn cần gửi email một loạt ô trong trang tính dưới dạng tệp đính kèm từ Excel. Bạn có thể thử mã VBA sau.

1. Nhấn nút Khác + F11 phím.

2. Trong phần mở đầu Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > Mô-đun. Sau đó, dán mã VBA sau vào Mô-đun (Mã) cửa sổ.

Mã VBA: Gửi một dải ô qua email dưới dạng tệp đính kèm từ 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 = ""
    .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

Chú ý:

1) Trong dòng .Để = , vui lòng thay thế với địa chỉ email thực của người nhận. Nếu bạn cần nhiều địa chỉ email, vui lòng phân tách chúng bằng dấu chấm phẩy.
2) Thay đổi chủ đề email và nội dung email riêng biệt trong dòng .Subject = "Doanh số hàng tháng cho năm 2021".Body = "Xin chào, vui lòng kiểm tra và đọc tài liệu này.";
3) Trong hai dòng sau:
.CC = "địa chỉ email"
.BCC = "địa chỉ email"
Nếu bạn muốn thêm người nhận cc và bcc, hãy thay thế văn bản “Địa chỉ email”Trong các dòng có địa chỉ email bạn cần.
Nếu bạn không cần người nhận cc và bcc, chỉ cần thêm dấu nháy đơn ' trước mỗi dòng.

3. Nhấn nút F5 phím để chạy mã. Trong cửa sổ bật lên Kutools cho Excel hộp thoại, chọn phạm vi ô bạn cần gửi dưới dạng tệp đính kèm trong email, sau đó nhấp vào OK. Xem ảnh chụp màn hình:

Sau đó, một email Outlook sẽ được tạo tự động. Và phạm vi ô bạn đã chọn trong trang tính được lưu dưới dạng sổ làm việc Excel và được đính kèm trong cửa sổ Thư. Xem ảnh chụp màn hình:


4.2 Gửi email khi một nút được nhấp trong Excel

Ví dụ: nếu bạn cần bấm vào nút lệnh để kích hoạt macro để gửi email từ Excel, hãy gửi sổ làm việc hiện tại dưới dạng tệp đính kèm cho người khác bằng cách bấm vào nút lệnh trong trang tính. Bạn có thể làm theo các bước như sau để hoàn thành.

1. nhấp chuột Nhà phát triển > Chèn > Nút lệnh (Điều khiển ActiveX). Sau đó, vẽ một nút lệnh trong trang tính.

Lời khuyên: Nếu bạn đã có nút lệnh, hãy bỏ qua bước này.

2. Nhấn nút Khác + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ. Trong cửa sổ, nhấp vào Chèn > thời gian, sau đó dán mã VBA (mã được sử dụng để gửi email sổ làm việc hiện tại dưới dạng tệp đính kèm từ Excel) trong cửa sổ Mô-đun (Mã).

Bấm vào đây để lấy mã.

Chú thích: Đây là tên của macro bạn đã tạo ở bước 2 là Gửi Sổ làm việc.

3. Nhấn nút Khác + Q chìa khóa để đóng Microsoft Visual Basic cho các ứng dụng cửa sổ.

4. Bây giờ bạn cần gán macro cho nút lệnh. Nhấp chuột phải vào nút lệnh, chọn Mã Chế độ xem từ menu chuột phải.

5. Sau đó Microsoft Visual Basic cho các ứng dụng cửa sổ bật lên, bạn có thể thấy hai dòng sau được liệt kê trong Trang tính (Mã) cửa sổ.

Private Sub CommandButton1_Click()
End Sub

6. Nhập tên của macro hiện có bên trong quy trình con cho nút lệnh.

7. Nhấn nút Khác + Q chìa khóa để đóng Trình soạn thảo Visual Basic, Và nhấp vào Nhà phát triển > Chế độ thiết kế để tắt chế độ thiết kế.

Bây giờ bạn có thể bấm vào nút lệnh để gửi email với sổ làm việc hiện tại dưới dạng tệp đính kèm trong email.


4.3 Gửi email từ một tài khoản email cụ thể

Thông thường, khi khởi chạy email từ Excel với mã VBA, tài khoản email của người gửi là tài khoản mặc định trong Outlook. Giả sử bạn đã định cấu hình một số tài khoản email trong Outlook của mình và muốn sử dụng một tài khoản nhất định để gửi email từ Excel thay vì sử dụng tài khoản mặc định. Mã VBA sau đây có thể giúp bạn.

Các mã sau đây là cần thiết trong trường hợp này.

Mã VBA 1:

Dim OutlookMail As Outlook.MailItem

Mã VBA 2:

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

Làm thế nào để sử dụng mã VBA trên?

1) Trong mã của riêng bạn, bạn cần thay thế dòng chẳng hạn như “Làm mờ OutlookMail dưới dạng đối tượng”Với mã VBA 1;
2) Thêm mã VBA 2 bên dưới dòng “On Error Resume Next”Trong mã của bạn. Sau đó chỉ định địa chỉ email bạn sẽ sử dụng để gửi email ở mã VBA 2.

Trong ví dụ này, chúng tôi sẽ chỉ định một tài khoản email nhất định để gửi sổ làm việc hiện tại dưới dạng tệp đính kèm từ Excel. Hãy làm như sau.

1. Nhấn nút Khác + F11 chìa khóa. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp CÔNG CỤ > dự án. Và sau đó kiểm tra Thư viện đối tượng Microsoft Outlook 16.0 hộp và nhấp vào OK trong Tài liệu tham khảo - VBAProject hộp thoại.

2. nhấp chuột Chèn > Mô-đun. Sau đó, dán mã VBA sau vào Mô-đun (Mã) cửa sổ.

Mã VBA: Gửi sổ làm việc hiện tại dưới dạng tệp đính kèm email từ Excel thông qua tài khoản Outlook được chỉ định

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("") Then 'Specify your email account here
    OutlookMail.SendUsingAccount = xAccount
  End If
Next
'End
With OutlookMail
    .To = ""
    .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. Nhấn nút F5 phím để chạy mã. Sau đó, một thông báo email Outlook bật lên, bạn có thể thấy rằng Từ trường được điền với tài khoản email bạn đã chỉ định trong mã.


4.4 Gửi email khi đến ngày

Ví dụ: nếu bạn cần gửi email dựa trên một ngày đến hạn cụ thể, như được hiển thị trong ảnh chụp màn hình bên dưới, có một bảng dự án, khi ngày đến hạn trong phạm vi E2: E7 bằng hoặc ít hơn 7 ngày kể từ hôm nay (giả sử ngày hiện tại là 2022/8/4), một email sẽ được gửi tự động đến những người đứng đầu dự án tương ứng và thông báo cho họ rằng dự án sắp hết hạn.

1. Trong trang tính có chứa bảng dự án, hãy nhấp chuột phải vào tab trang tính và nhấp vào Xem mã từ menu chuột phải.

2. Trong phần mở đầu Microsoft Visual Basic cho các ứng dụng , dán mã VBA sau vào Trang tính (Mã) cửa sổ.

Mã VBA: Tự động gửi email khi gặp ngày đến hạn

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

Chú ý: Trong mã,

1) Trong những dòng sau, E2: E7 chứa các ngày đến hạn mà bạn sẽ gửi email dựa trên. C2: C7 chứa các địa chỉ email mà bạn sẽ gửi email đến. Và D2: D7 chứa các nhận xét bạn sẽ thêm vào nội dung email để thông báo cho người nhận rằng dự án sắp hết hạn. Bạn có thể thay đổi các phạm vi khi bạn cần.
Đặt xRgDate = Range ("E2: E7")
Đặt xRgSend = Range ("C2: C7")
Đặt xRgText = Range ("D2: D7")
2) Dòng sau có nghĩa là ngày đến hạn phải lớn hơn 1 ngày và bằng hoặc ít hơn 7 ngày kể từ hôm nay. Bạn có thể thay đổi nó khi bạn cần.
Nếu CDate (xRgDateVal) - Ngày <= 7 Và CDate (xRgDateVal) - Ngày> 0 Thì
3) Trong dòng .Để = , vui lòng thay thế với địa chỉ email thực của người nhận. Nếu bạn cần nhiều địa chỉ email, vui lòng phân tách chúng bằng dấu chấm phẩy.
4) Thay đổi chủ đề email trong dòng .Subject = "Trang tính đã sửa đổi".
5) Trong hai dòng sau:
.CC = "Địa chỉ Email"
.BCC = "Địa chỉ Email"
Nếu bạn muốn thêm người nhận cc và bcc, hãy thay thế văn bản “Email”Trong các dòng có địa chỉ email bạn cần.
Nếu bạn không cần người nhận cc và bcc, chỉ cần thêm dấu nháy đơn ' trước mỗi dòng.

3. Nhấn nút F5 phím để chạy mã. Sau đó, nếu ngày hết hạn phù hợp với các điều kiện, email tương ứng sẽ được tạo. Trong trường hợp này, hai email sẽ được tạo như trong ảnh chụp màn hình bên dưới.


5. Một công cụ tiện dụng giúp bạn dễ dàng gửi email từ Excel

Nếu bạn là người mới sử dụng VBA, các phương pháp trên có thể không dễ dàng để bạn xử lý. Ở đây chúng tôi khuyên bạn nên Kutools cho Excel'S Gửi email , với tính năng này, bạn có thể dễ dàng gửi email từ Excel chỉ với vài cú nhấp chuột. Hãy làm như sau.

Trước khi áp dụng Kutools cho Excel, Xin vui lòng tải xuống và cài đặt nó trước tiên.

5.1 Dễ dàng tạo danh sách gửi thư bao gồm các trường email bạn cần

Trước khi áp dụng tính năng Gửi Email, bạn cần tạo một danh sách gửi thư có chứa các trường email bạn cần. Tại đây, tính năng Tạo danh sách gửi thư có thể giúp ích.

1. nhấp chuột Kutools Plus > Tạo danh sách gửi thư.

2. Trong phần mở đầu Tạo danh sách gửi thư cửa sổ, bạn cần phải cấu hình như sau.

2.1) Trong Các cột cho danh sách Gửi thư kiểm tra các trường bạn cần trong email của mình;
2.2) Trong Đính kèm tệp kiểm tra một hoặc nhiều tệp đính kèm mà bạn có thể cần;
2.3) Chỉ định một vị trí để đặt danh sách gửi thư;
2.4) Nhấp vào Tạo cái nút. Xem ảnh chụp màn hình:

Sau đó, một bảng danh sách gửi thư mẫu được tạo như thể hiện trong ảnh chụp màn hình bên dưới.

3. Bây giờ bạn cần thay thế dữ liệu gốc trong mẫu bằng dữ liệu trường của riêng bạn.

Bây giờ bạn đã tạo một bảng danh sách gửi thư. Vui lòng tiếp tục để áp dụng Gửi email tính năng gửi email từ Excel dựa trên các trường bạn đã tạo.

  Nếu bạn muốn dùng thử miễn phí (30 ngày) tiện ích này, vui lòng nhấp để tải xuống, và sau đó đi đến áp dụng hoạt động theo các bước trên.


5.2 Dễ dàng gửi email bao gồm các trường bạn đã tạo trong danh sách gửi thư

Sau khi tạo danh sách gửi thư (bấm để biết làm thế nào) có chứa các trường bạn có thể cần trong email của mình, bây giờ bạn có thể gửi email từ Excel với các trường này.

1. Chọn toàn bộ danh sách gửi thư, nhấp vào Kutools Plus > Gửi email.

2. bên trong Gửi email hộp thoại, vui lòng thực hiện cấu hình sau.

2.1) Các trường được điền tự động vào hộp thoại của mỗi trường bởi các trường bạn đã chỉ định trong danh sách gửi thư;
Lời khuyên: Nếu bạn không cần một trường nhất định vào lúc này, hãy chọn một tùy chọn trống trong danh sách thả xuống.
2.2) Chèn trình giữ chỗ (tùy chọn): Nếu bạn cần chèn thông tin biến trong nội dung email.
Ví dụ: bạn có thể cần gửi email đến nhiều người nhận với tên được cá nhân hóa cho từng người, bạn cần đặt con trỏ vào nội dung email nơi bạn cần chèn trình giữ chỗ, chọn trường “E: Tên”(Hoặc trường tên khác trong danh sách gửi email của bạn), rồi bấm vào Chèn Placeholder Nút;
Khi người nhận nhận được email, nội dung email vẫn giữ nguyên nhưng tên là duy nhất cho mỗi người.
2.3) Soạn nội dung email khi bạn cần;
2.4) Đảm bảo rằng Gửi email qua Outlook hộp được kiểm tra;
2.5) Nhấp vào Gửi cái nút. Xem ảnh chụp màn hình:

3. Sau đó a Kutools cho Excel hộp thoại bật lên để cho bạn biết có bao nhiêu email được gửi, hãy nhấp vào OK để đóng hộp thoại này.

Lời khuyên: Bạn có thể đi tới Các mục đã gửi trong Outlook của bạn để kiểm tra các email bạn đã gửi.


5.3 Dễ dàng gửi email với nội dung HTML (bao gồm siêu liên kết, hình ảnh, v.v.)

Tính năng Gửi Email này cho phép bạn tạo một email html, bao gồm siêu liên kết, hình ảnh, các kích thước phông chữ và màu phông chữ khác nhau, v.v.

Sau tạo một danh sách gửi thư bao gồm các trường email bạn cần,

Khi bạn định cấu hình hộp thoại Gửi Email, bạn có thể làm cho nội dung nội dung phong phú bằng cách sử dụng các tùy chọn trên thanh công cụ.

Xem ảnh chụp màn hình bên dưới:


5.4 Dễ dàng chèn chữ ký mặc định của Outlook khi gửi email

Trong phương pháp trên, chúng tôi đã trình bày mã VBA để giúp bạn gửi email với chữ ký mặc định của Outlook. Ở đây với tính năng Gửi Email, bạn chỉ cần đánh dấu vào một tùy chọn, sau đó chữ ký mặc định của Outlook sẽ được chèn vào các email bạn đã gửi từ Excel.

Sau tạo một danh sách gửi thư bao gồm các trường email bạn cần,

Thời Gian định cấu hình hộp thoại Gửi Email, bạn cần nhấp vào Các lựa chọn > Sử dụng cài đặt chữ ký của Outlook.

Chú thích: Hãy đảm bảo rằng có một dấu kiểm hiển thị trước tùy chọn Sử dụng cài đặt chữ ký của Outlook.

Khi người nhận nhận được email, họ có thể thấy chữ ký mặc định của Outlook được hiển thị ở cuối nội dung email.


5.5 Dễ dàng gửi email từ một tài khoản email cụ thể

Để sử dụng một tài khoản email nhất định để gửi email từ Excel thay vì sử dụng tài khoản mặc định, tính năng Gửi email cũng có thể giúp bạn dễ dàng thực hiện.

Sau tạo một danh sách gửi thư bao gồm các trường email bạn cần,

Thời Gian định cấu hình hộp thoại Gửi Email, bạn cần nhấp vào Các lựa chọn > Đã được gửi từ, sau đó nhấp vào tài khoản email bạn cần để gửi email.

Chú thích: Sau khi chọn tài khoản email, một dấu kiểm sẽ được hiển thị trước nó.

Nhấp chuột Ở đây để biết thêm về tính năng Gửi Email này.

  Nếu bạn muốn dùng thử miễn phí (30 ngày) tiện ích này, vui lòng nhấp để tải xuống, và sau đó đi đến áp dụng hoạt động theo các bước trên.

Kết lại, gửi email từ Excel khá hữu ích trong công việc hàng ngày của chúng ta. Bài viết này bao gồm các chủ đề tổng hợp hơn về các email gửi từ Excel, nếu có chủ đề khác hoặc các giải pháp dễ dàng hơn, vui lòng để lại bình luận cho tôi biết.

Công cụ năng suất văn phòng tốt nhất

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

Mô tả


Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations