Đang tìm cách phối thư trong Excel không có Word ? Sau đó, đây là nơi thích hợp cho bạn. Nếu Microsoft Word không khả dụng vì một số lý do, đang thực hiện phối thư sẽ khó khăn. Tuy nhiên, điều đó không phải là không thể, vì Word không bắt buộc để thực hiện phối thư các hoạt động. Trong bài viết này, chúng tôi sẽ cho bạn thấy 2 Macro VBA để phối thư trong Excel không có Word .
Hợp nhất Thư
Khi ai đó hoặc một số công ty muốn gửi một số lượng lớn email với một chút sửa đổi (chẳng hạn như tên, địa chỉ email của người nhận hoặc địa chỉ của người nhận). Sau đó, bên liên quan có thể tạo mẫu và các trường có thể chỉnh sửa để đáp ứng nhu cầu. Chúng tôi biết loại mẫu này là phối thư .
Đây là cách tiết kiệm thời gian tổng thể. Thông thường, thực hiện tác vụ này thông qua Word bộ xử lý (chẳng hạn như Microsoft Word , Google Tài liệu, vân vân.). WordStar lần đầu tiên giới thiệu tính năng này vào đầu những năm 80 . Sau đó, những người khác đã sử dụng tính năng siêu hữu ích này.
Nói chung, một người cần tuân theo 5 các bước chính của phối thư hoạt động:
- Thứ nhất, tài liệu gốc .
- Thứ hai, nguồn dữ liệu .
- Thứ ba, các trường để nhập.
- Sau đó, hợp nhất với tài liệu gốc .
- Cuối cùng, Lưu hoặc Gửi email .
2 Phương pháp Tiện dụng để Kết hợp Thư trong Excel mà không cần Word
Là Microsoft Word là Word nổi bật nhất bộ xử lý ngoài đó, hầu hết chúng ta đều liên kết Word khi chúng tôi nghe thấy văn bản “ phối thư ”. Tuy nhiên, chúng tôi sẽ làm theo cách khác, chỉ sử dụng Microsoft Excel để thực hiện phối thư . Vì vậy, hãy đọc qua bài viết này để biết sâu hơn về nó.
Hơn nữa, chúng tôi sẽ sử dụng hai tập dữ liệu để chứng minh Macro của chúng tôi , từ những thứ đó, tập dữ liệu đầu tiên có các cột sau:“ Tên ”,“ Email Địa chỉ ”,“ Thành phố ”Và“ Đường phố Địa chỉ ”. Chúng ta sẽ thấy tập dữ liệu thứ hai trong phương pháp thứ hai của bài viết này. Ngoài ra, vì lý do bảo mật, chúng tôi đã tạo ra 3 địa chỉ email cho tập dữ liệu của chúng tôi và địa chỉ cuối cùng thuộc về người viết bài này, chúng tôi sẽ sử dụng địa chỉ này để xác minh rằng chúng tôi có thể gửi email mà không gặp bất kỳ sự cố nào.
1. Phối thư để gửi email tự động trong Excel
Đối với phương pháp đầu tiên, Trang tính của chúng tôi tên là “ VBA1 ”. Chúng tôi sẽ chèn một VBA mã có hai Thủ tục phụ sử dụng một Mô-đun duy nhất để phối thư trong Excel không có Word . Sau đó, chúng tôi sẽ chạy mã này, mã này sẽ tự động gửi email đến các khách hàng được liệt kê bằng cách sử dụng mẫu được xác định trước của chúng tôi. Trước khi thực hiện tất cả những điều đó, hãy để chúng tôi hướng dẫn bạn cách khởi động Mô-đun cửa sổ và nhập VBA mã.
Các bước:
- Đầu tiên, từ Nhà phát triển tab>>> chọn Visual Basic .
- Ngoài ra, bạn có thể nhấn ALT + F11 để hiển thị VBA cửa sổ .
- Thứ hai, từ Chèn >>> chọn Mô-đun .
- Vì vậy, điều này sẽ hiển thị Mô-đun cửa sổ, nơi chúng tôi nhập VBA của chúng tôi mã.
- Tiếp theo, nhập mã sau vào trong Mô-đun cửa sổ.
Option Explicit
Sub Mail_Merge_Only_Excel()
Dim xSheet As Worksheet
Dim mAddress As String, mSubject As String, eName As String, _
eLocation As String, eCity As String
Dim eRow As Long, x As Long
Set xSheet = ThisWorkbook.Sheets("VBA1") 'WorkSheet Name
With xSheet
eRow = .Cells(.Rows.Count, 5).End(xlUp).Row
For x = 5 To eRow 'Specific Row to Row to Last Row
mAddress = .Cells(x, 3)
mSubject = "Thank You for Your Loyalty"
eName = .Cells(x, 2)
eCity = .Cells(x, 4)
eLocation = .Cells(x, 5)
Call Mail_Merge_Only_Excel_Send_Mail(mAddress, mSubject, _
eName, eLocation, eCity)
Next x
End With
End Sub
Sub Mail_Merge_Only_Excel_Send_Mail(mAddress As String, mSubject As String, _
eName As String, eLocation As String, eCity As String)
Dim pApp As Object
Dim pMail As Object
Set pApp = CreateObject("Outlook.Application")
Set pMail = pApp.CreateItem(0)
With pMail
.To = mAddress
.CC = ""
.BCC = ""
.Subject = mSubject
.Body = "Mr./Mrs. " & eName & vbNewLine & eCity & vbNewLine & eLocation & _
vbNewLine & vbNewLine & "Hello! " _
& "You are one of the most precious customers to us for the last quarter. " _
& "As a token of appreciation, we are sending you 20$ coupon code for your " _
& "next purchase at ExcelDemy. " _
& "Use the coupon code 'ExcelDemy20' to avail of this discount." _
& vbNewLine & "From," & vbNewLine & "ExcelDemy Team"
.Send
End With
Set pMail = Nothing
Set pApp = Nothing
End Sub
Phân tích mã VBA
- Đầu tiên, chúng tôi sẽ gọi Thủ tục phụ đầu tiên của chúng tôi “ Mail_Merge_Only_Excel ”.
- Thứ hai, chúng tôi đang khai báo các loại biến và cài đặt “ VBA1 ”Dưới dạng Bảng tính của chúng tôi .
- Sau đó, số hàng cuối cùng được tìm thấy. Hơn nữa, giá trị của chúng tôi bắt đầu từ hàng 5 , do đó chúng tôi đã đặt hàng 5 đến hàng cuối cùng trong mã của chúng tôi.
- Sau đó, gọi Thủ tục phụ thứ hai của chúng tôi “ Mail_Merge_Only_Excel_Send_Mail ”.
- Sau đó, chúng tôi sẽ chọn Outlook là Ứng dụng Thư của chúng tôi .
- Sau đó, nội dung email được đặt trong mã của chúng tôi. Ngoài ra, chúng tôi sử dụng vbNewLine để chèn các dòng trống vào nội dung email.
- Sau đó, “. Gửi ”Được sử dụng ở đây để gửi email của chúng tôi. Do đó, chúng ta không cần nhấn Gửi để gửi email theo cách thủ công. Hơn nữa, chúng ta có thể sử dụng “ .Display ”Để hiển thị email mà không cần gửi.
- Sau đó, Lưu Mô-đun .
- Sau đó, đặt con trỏ vào bên trong Thủ tục phụ đầu tiên và nhấn Run .
- Bây giờ, nếu bạn không đăng nhập vào Outlook của mình ứng dụng thư, sau đó bạn sẽ được yêu cầu nhập thông tin đăng nhập của mình. Chúng tôi đã đăng nhập, do đó, thư của chúng tôi sẽ được gửi mà không cần thực hiện các bước bổ sung.
- Cuối cùng, ảnh chụp nhanh này hiển thị phối thư hoạt động như dự định và nó có thể hoạt động bằng cách sử dụng Excel không có Word .
Đọc thêm:Cách kết hợp thư từ Excel sang Outlook (với các bước dễ dàng)
2. Hợp nhất Thư từ Lựa chọn trong Excel mà không cần Word
Đối với phương pháp cuối cùng, chúng tôi đã thay đổi bộ dữ liệu của mình một chút. Có ba cột bao gồm “ Tên ”,“ Email Địa chỉ ”Và“ Văn bản ”. Chúng tôi sẽ sử dụng một VBA khác mã để thực hiện phối thư trong Excel chỉ có. Lần này, chúng tôi sẽ sử dụng phương thức InputBox để chọn địa chỉ email và văn bản để gửi. Hơn nữa, chúng tôi sẽ chỉ hiển thị phối thư hoạt động Ứng dụng Outlook và gửi nó theo cách thủ công bằng cách nhấp vào một nút. Nội dung email của chúng tôi giống nhau đối với tất cả các khách hàng. Không cần thêm lời khuyên nào nữa, chúng ta hãy bắt đầu thực hiện các bước.
Các bước:
- Đầu tiên, như được hiển thị trong phương pháp đầu tiên , đưa ra Mô-đun cửa sổ và nhập mã này.
Public Sub Mail_Merge_Without_Word_Input_Box()
'Declare the variables
Dim XRcptsEmail As Range
Dim xMailContent As Range
Dim xRngDn As Range
Dim xCrtOut As Object
Dim xValSendRng As String
Dim k As Long
Dim xMailSections As Object
Dim xFinalRw As Long
Dim CrVbLf As String
Dim xMsg As String
On Error Resume Next
'Insert a input box for selecting the recipients
Set XRcptsEmail = Application.InputBox("Choose the column for the email" _
& "addresses of the recipients:", "ExcelDemy", , , , , , 8)
If XRcptsEmail Is Nothing Then Exit Sub
'To enter the text mail, insert a input box
Set xMailContent = Application.InputBox("In your email," _
& "choose the column with the text:", "ExcelDemy", , , , , , 8)
If xMailContent Is Nothing Then Exit Sub
'Count rows for the recipient email
xFinalRw = XRcptsEmail.Rows.Count
Set XRcptsEmail = XRcptsEmail(1)
Set xMailContent = xMailContent(1)
'Set command to open MS Outlook Application
Set xCrtOut = CreateObject("Outlook.Application")
'Apply For loop to conduct the operation in each row one by one
For k = 1 To xFinalRw
xValSendRng = Cells(XRcptsEmail.Offset(k - 1).Row, _
XRcptsEmail.Offset(k - 1).Column - 1)
'Create the subject, body and text contents with the required variables
CrVbLf = "<br><br>"
xMsg = "<HTML><BODY>"
xMsg = xMsg & "Dear " & xValSendRng & CrVbLf
xMsg = xMsg & "" & xMailContent.Value & CrVbLf
xMsg = xMsg & "</BODY></HTML>"
'Create the email
Set xMailSections = xCrtOut.CreateItem(0)
'Define the position to place the Subject, Body and Recipients Address
With xMailSections
.Subject = "Congratulations!!!"
xValSendRng = Cells(XRcptsEmail.Offset(k - 1).Row, _
XRcptsEmail.Offset(k - 1).Column)
.To = xValSendRng
.HTMLBody = xMsg
.Display
End With
Set xMailSections = Nothing
Next
Set xCrtOut = Nothing
End Sub
Phân tích mã VBA
- Để bắt đầu, Chúng tôi đang gọi Thủ tục phụ Mail_Merge_Without_Word_Input_Box .
- Thứ hai, chúng tôi đang khai báo các loại biến.
- Sau đó, chúng tôi sử dụng hai InputBox để lấy địa chỉ email và nội dung nội dung email.
- Sau đó, chúng tôi đếm số hàng.
- Tiếp theo, chúng tôi sử dụng Vòng lặp tiếp theo để đi qua tất cả các hàng một cách tuần tự và sử dụng VBA Offset tài sản chúng tôi trích xuất tên khách hàng từ 1 cột bên trái.
- Cuối cùng, chúng tôi sử dụng Phương pháp hiển thị để xem trước các email. Ngoài ra, chúng tôi có thể sử dụng Phương thức gửi để gửi cả email.
- Sau đó, Lưu Mô-đun .
- Sau đó, đặt con trỏ vào bên trong Thủ tục phụ đầu tiên và nhấn Run .
- Vì vậy, mã của chúng tôi sẽ thực thi và nó sẽ yêu cầu chúng tôi chọn địa chỉ email và nội dung của email.
- Tiếp theo, chọn phạm vi ô C5:C8 dưới dạng địa chỉ email và nhấn OK .
- Sau đó, chọn nội dung email trên ô D5 và nhấn OK .
- Sau đó, nó sẽ hiển thị cho chúng tôi 4 cửa sổ của Ứng dụng Outlook .
- Cuối cùng, chúng tôi có thể nhấn Gửi để chuyển tiếp email này.
- Đây là những gì phối thư thành công đầu ra bằng VBA này mã sẽ như thế nào.
Đọc thêm:Cách kết hợp thư từ Excel sang Outlook với tệp đính kèm (2 ví dụ)
Phần thực hành
Chúng tôi đã thêm tập dữ liệu thực hành cho từng phương pháp trong Excel tập tin. Do đó, bạn có thể làm theo các phương pháp của chúng tôi một cách dễ dàng.
Kết luận
Chúng tôi đã cho bạn thấy 2 Macro VBA để phối thư trong Excel không có Từ . Nếu bạn gặp bất kỳ vấn đề nào liên quan đến các phương pháp này hoặc có bất kỳ phản hồi nào cho tôi, vui lòng bình luận bên dưới. Hơn nữa, bạn có thể truy cập trang web ExcelDemy của chúng tôi để biết thêm liên quan đến Excel bài viết. Cảm ơn bạn đã đọc, hãy tiếp tục xuất sắc!
Các bài viết liên quan
- Macro để điền tài liệu kết hợp thư từ Excel
- Cách Thay đổi Định dạng Ngày trong Kết hợp Thư trong Excel (với các Bước Nhanh)
- Cách hợp nhất tệp Excel vào nhãn gửi thư (Với các bước dễ dàng)
- Kết hợp Thư từ Excel sang Word Envelopes (2 Phương pháp Dễ dàng)
- Cách Kết hợp Thư từ Excel sang Word (2 Cách Dễ dàng)