Computer >> Máy Tính >  >> Phần mềm >> Office

Kết hợp thư trong Excel mà không cần Word (2 cách phù hợp)

Đ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

Microsoft Word 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.

Kết hợp thư trong Excel mà không cần Word (2 cách phù hợp)

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ã.

Kết hợp thư trong Excel mà không cần Word (2 cách phù hợp)

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ổ .

Kết hợp thư trong Excel mà không cần Word (2 cách phù hợp)

  • Thứ hai, từ Chèn >>> chọn Mô-đun .

Kết hợp thư trong Excel mà không cần Word (2 cách phù hợp)

  • 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

Kết hợp thư trong Excel mà không cần Word (2 cách phù hợp)

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 Ứ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.

Kết hợp thư trong Excel mà không cần Word (2 cách phù hợp)

  • 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 .

Kết hợp thư trong Excel mà không cần Word (2 cách phù hợp)

Đọ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.

Kết hợp thư trong Excel mà không cần Word (2 cách phù hợp)

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

Kết hợp thư trong Excel mà không cần Word (2 cách phù hợp)

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 .

Kết hợp thư trong Excel mà không cần Word (2 cách phù hợp)

  • 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 .

Kết hợp thư trong Excel mà không cần Word (2 cách phù hợp)

  • Sau đó, chọn nội dung email trên ô D5 và nhấn OK .

Kết hợp thư trong Excel mà không cần Word (2 cách phù hợp)

  • Sau đó, nó sẽ hiển thị cho chúng tôi 4 cửa sổ của Ứng dụng Outlook .

Kết hợp thư trong Excel mà không cần Word (2 cách phù hợp)

  • Cuối cùng, chúng tôi có thể nhấn Gửi để chuyển tiếp email này.

Kết hợp thư trong Excel mà không cần Word (2 cách phù hợp)

  • Đâ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.

Kết hợp thư trong Excel mà không cần Word (2 cách phù hợp)

Đọ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 hợp thư trong Excel mà không cần Word (2 cách phù hợp)

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)