মেল মার্জ করার উপায় খুঁজছি৷ এক্সেলে শব্দ ছাড়া ? তাহলে এটি আপনার জন্য সঠিক জায়গা। যদি Microsoft Word কিছু কারণে উপলব্ধ নয়, একটি মেল মার্জ করছেন৷ চতুর হবে যাইহোক, এটা অসম্ভব নয়, যেমন শব্দ মেইল মার্জ করার জন্য বাধ্যতামূলক নয় অপারেশন এই নিবন্ধে, আমরা আপনাকে দেখাব 2 VBA ম্যাক্রো মেল মার্জ করতে এক্সেল -এ শব্দ ছাড়া .
মেল মার্জ
যখন কেউ বা কিছু কোম্পানি সামান্য পরিবর্তন (যেমন নাম, প্রাপকের ইমেল ঠিকানা, বা প্রাপকের ঠিকানা) সহ প্রচুর সংখ্যক ইমেল পাঠাতে চায়। তারপর, সংশ্লিষ্ট পক্ষ চাহিদা পূরণের জন্য একটি টেমপ্লেট এবং সম্পাদনাযোগ্য ক্ষেত্র তৈরি করতে পারে। আমরা এই ধরনের টেমপ্লেটকে মেইল মার্জ হিসেবে জানি .
এটি মোট সময় সাশ্রয়কারী৷ একটি শব্দ এর মাধ্যমে এই কাজটি করা সাধারণ৷ প্রসেসর (যেমন Microsoft Word ,Google ডক্স, ইত্যাদি)। WordStar 80s এর প্রথম দিকে এই বৈশিষ্ট্যটি প্রথম চালু করেছিল৷ . এর পরে, অন্যরা এই অতি দরকারী বৈশিষ্ট্যটি গ্রহণ করেছে৷
৷সাধারণত, একজনকে 5 অনুসরণ করতে হবে মেইল মার্জ এর প্রধান ধাপ অপারেশন:
- প্রথমত, মূল নথি .
- দ্বিতীয়ত, ডেটা উৎস .
- তৃতীয়ত, ক্ষেত্র ইনপুট করতে।
- তারপর, একত্রীকরণ মূল নথি সহ .
- শেষে, সংরক্ষণ করুন অথবা পাঠান ইমেল .
2 শব্দ ছাড়াই এক্সেলে মেল মার্জ করার সহজ উপায়
যেমন Microsoft Word সবচেয়ে বিশিষ্ট শব্দ সেখানে প্রসেসর, আমাদের মধ্যে বেশিরভাগই শব্দ যুক্ত যখন আমরা “মেইল মার্জ লেখাটি শুনি ” যাইহোক, আমরা এটি ভিন্নভাবে করব, শুধুমাত্র Microsoft Excel ব্যবহার করে মেল মার্জ করতে . তাই এটি সম্পর্কে আরও গভীরভাবে জানতে এই নিবন্ধটি পড়ুন।
এছাড়াও, আমরা আমাদের ম্যাক্রো প্রদর্শন করতে দুটি ডেটাসেট ব্যবহার করব , সেগুলি থেকে প্রথম ডেটাসেটে নিম্নলিখিত কলাম রয়েছে:“নাম৷ ”, “ইমেল ঠিকানা ”, “শহর ”, এবং “রাস্তা ঠিকানা ” আমরা এই নিবন্ধের দ্বিতীয় পদ্ধতিতে পরবর্তী ডেটাসেটটি দেখতে পাব। উপরন্তু, গোপনীয়তার কারণে, আমরা 3 তৈরি করেছি আমাদের ডেটাসেটের জন্য ইমেল ঠিকানা এবং শেষটি এই নিবন্ধ লেখকের, যা আমরা যাচাই করতে ব্যবহার করব যে আমরা কোনও সমস্যা ছাড়াই একটি ইমেল পাঠাতে পারি৷
1. Excel এ স্বয়ংক্রিয়ভাবে ইমেল পাঠাতে মেল মার্জ করুন
প্রথম পদ্ধতির জন্য, আমাদের ওয়ার্কশীট নাম হল “VBA1 ” আমরা একটি VBA সন্নিবেশ করব দুটি সাব পদ্ধতি সহ কোড একটি একক মডিউল ব্যবহার করে মেল মার্জ করতে এক্সেল -এ শব্দ ছাড়া . তারপর, আমরা এই কোডটি চালাব, যা আমাদের পূর্বনির্ধারিত টেমপ্লেট ব্যবহার করে তালিকাভুক্ত গ্রাহকদের কাছে স্বয়ংক্রিয়ভাবে ইমেল পাঠাবে। এটি করার আগে, আসুন আমরা আপনাকে দেখাই কিভাবে মডিউল আনতে হয় উইন্ডো এবং একটি VBA টাইপ করুন কোড।
পদক্ষেপ:
- প্রথমত, ডেভেলপার থেকে ট্যাব>>> ভিজ্যুয়াল বেসিক নির্বাচন করুন .
- বিকল্পভাবে, আপনি ALT + F11 চাপতে পারেন VBA প্রদর্শন করতে উইন্ডো .
- দ্বিতীয়ভাবে, ঢোকান থেকে >>> মডিউল নির্বাচন করুন .
- সুতরাং, এটি মডিউল নিয়ে আসবে উইন্ডো, যেখানে আমরা আমাদের VBA টাইপ করি কোড।
- এরপর, মডিউলের ভিতরে নিম্নলিখিত কোডটি টাইপ করুন উইন্ডো।
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
VBA কোড ব্রেকডাউন৷
- প্রথমত, আমরা আমাদের প্রথম সাব পদ্ধতি কল করছি “Mail_Merge_Only_Excel ”।
- দ্বিতীয়ত, আমরা ভেরিয়েবলের ধরন ঘোষণা করছি এবং “VBA1 সেট করছি ” আমাদের ওয়ার্কশীট হিসাবে .
- তারপর, শেষ সারি নম্বরটি পাওয়া যায়। তাছাড়া, আমাদের মান সারি 5 থেকে শুরু হয় , তাই আমরা সারি 5 রেখেছি আমাদের কোডের শেষ সারিতে।
- তারপর, আমাদের দ্বিতীয় সাব পদ্ধতিতে কল করুন “Mail_Merge_Only_Excel_Send_Mail ”।
- এর পরে, আমরা আউটলুক নির্বাচন করছি আমাদের মেল অ্যাপ্লিকেশন হিসাবে .
- তারপর, ইমেল বিষয়বস্তু আমাদের কোডে সেট করা আছে। উপরন্তু, আমরা vbNewLine ব্যবহার করি ইমেইল বডিতে ফাঁকা লাইন সন্নিবেশ করান।
- এর পর, “.পাঠান ” এখানে আমাদের ইমেইল পাঠাতে ব্যবহার করা হয়। অতএব, আমাদের পাঠান টিপতে হবে না ম্যানুয়ালি ইমেইল পাঠাতে. তাছাড়া, আমরা “.Display ব্যবহার করতে পারি ” ইমেল না পাঠিয়েই প্রদর্শন করতে।
- পরে, সংরক্ষণ করুন মডিউল .
- তারপর, প্রথম সাব পদ্ধতির ভিতরে কার্সার রাখুন এবং চালান টিপুন .
- এখন, যদি আপনি আপনার আউটলুক এ লগ ইন না করেন mail app, তারপর আপনাকে আপনার লগইন শংসাপত্র লিখতে বলা হবে। আমরা ইতিমধ্যেই লগ ইন করেছি, তাই অতিরিক্ত পদক্ষেপ ছাড়াই আমাদের মেল পাঠানো হবে৷
- অবশেষে, এই স্ন্যাপশটটি দেখায় মেল মার্জ উদ্দেশ্য অনুযায়ী কাজ করে এবং এটি Excel ব্যবহার করে কাজ করতে পারে শব্দ ছাড়া .
আরো পড়ুন:কিভাবে এক্সেল থেকে আউটলুকে মেল মেল করবেন (সহজ পদক্ষেপ সহ)
2. ওয়ার্ড ছাড়াই এক্সেলে নির্বাচন থেকে মেল মার্জ
শেষ পদ্ধতির জন্য, আমরা আমাদের ডেটাসেটগুলিকে কিছুটা পরিবর্তন করেছি। “নাম নিয়ে গঠিত তিনটি কলাম রয়েছে৷ ”, “ইমেল ঠিকানা ”, এবং “পাঠ্য ” আমরা আরেকটি VBA ব্যবহার করব মেইল মার্জ করার জন্য কোড এক্সেল -এ কেবল. এইবার, আমরা ইনপুটবক্স পদ্ধতি ব্যবহার করব পাঠানোর জন্য ইমেল ঠিকানা এবং পাঠ্য নির্বাচন করতে। আরও, আমরা শুধু মেল মার্জ প্রদর্শন করব অপারেশন আউটলুক অ্যাপ্লিকেশন এবং একটি বোতামে ক্লিক করে ম্যানুয়ালি পাঠান। আমাদের ইমেইল বডি সব গ্রাহকদের জন্য একই. আর কোনো ঝামেলা ছাড়াই, আসুন ধাপে ধাপে এগিয়ে যাই।
পদক্ষেপ:
- প্রথমত, প্রথম পদ্ধতিতে দেখানো হয়েছে , মডিউল আনুন উইন্ডো এবং এই কোড টাইপ করুন।
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
VBA কোড ব্রেকডাউন৷
- শুরুতে, আমরা কল করছি সাব পদ্ধতি Mail_Merge_Without_Word_Input_box .
- দ্বিতীয়ত, আমরা পরিবর্তনশীল প্রকার ঘোষণা করছি।
- এর পরে, আমরা দুটি ইনপুটবক্স ব্যবহার করি ইমেল ঠিকানা এবং ইমেলের শরীরের বিষয়বস্তু পেতে।
- তারপর, আমরা সারি সংখ্যা গণনা করি।
- এরপর, আমরা একটি পরবর্তী লুপের জন্য ব্যবহার করি ক্রমিকভাবে এবং VBA অফসেট ব্যবহার করে সমস্ত সারির মধ্য দিয়ে যেতে সম্পত্তি আমরা 1 থেকে গ্রাহকের নাম বের করি কলাম বাম।
- অবশেষে, আমরা প্রদর্শন পদ্ধতি ব্যবহার করি ইমেল পূর্বরূপ দেখতে. বিকল্পভাবে, আমরা পাঠান পদ্ধতি ব্যবহার করতে পারি ইমেইল পাঠাতেও।
- পরে, সংরক্ষণ করুন মডিউল .
- তারপর, প্রথম সাব পদ্ধতির ভিতরে কার্সার রাখুন এবং চালান টিপুন .
- সুতরাং, আমাদের কোডটি কার্যকর হবে এবং এটি আমাদের ইমেল ঠিকানা এবং ইমেলের বিষয়বস্তু নির্বাচন করতে বলবে।
- এরপর, সেল রেঞ্জ C5:C8 নির্বাচন করুন ইমেল ঠিকানা হিসাবে এবং ঠিক আছে টিপুন .
- পরে, সেলে থাকা ইমেল সামগ্রী নির্বাচন করুন D5 এবং ঠিক আছে টিপুন .
- এর পরে, এটি আমাদের দেখাবে 4 আউটলুক অ্যাপ্লিকেশন-এর উইন্ডোজ .
- অবশেষে, আমরা পাঠান চাপতে পারি এই ইমেল ফরোয়ার্ড করতে।
- এটিই সফল মেল মার্জ এই VBA ব্যবহার করে আউটপুট কোডের মত দেখাবে।
আরো পড়ুন:কিভাবে এক্সেল থেকে আউটলুকে সংযুক্তি সহ মেল মেল করবেন (২টি উদাহরণ)
অভ্যাস বিভাগ
আমরা Excel-এ প্রতিটি পদ্ধতির জন্য একটি অনুশীলন ডেটাসেট যোগ করেছি ফাইল অতএব, আপনি সহজেই আমাদের পদ্ধতি অনুসরণ করতে পারেন।
উপসংহার
আমরা আপনাকে দেখিয়েছি 2৷ VBA ম্যাক্রো মেল মার্জ করতে এক্সেল -এ শব্দ ছাড়া . আপনি যদি এই পদ্ধতিগুলি সম্পর্কে কোনও সমস্যার সম্মুখীন হন বা আমার জন্য কোনও প্রতিক্রিয়া থাকে তবে নীচে মন্তব্য করুন। তাছাড়া, আপনি আমাদের সাইটে যেতে পারেন ExcelDemy আরও এক্সেল-সম্পর্কিত এর জন্য প্রবন্ধ পড়ার জন্য ধন্যবাদ, ভালো থাকুন!
সম্পর্কিত প্রবন্ধ
- Excel থেকে একটি মেল মার্জ ডকুমেন্ট পপুলেট করতে ম্যাক্রো
- এক্সেল মেল মার্জে কীভাবে তারিখ বিন্যাস পরিবর্তন করবেন (দ্রুত পদক্ষেপ সহ)
- কিভাবে এক্সেল ফাইলকে মেলিং লেবেলে মার্জ করবেন (সহজ ধাপে)
- Excel থেকে Word Envelopes-এ মেল মার্জ (2 সহজ পদ্ধতি)
- কিভাবে এক্সেল থেকে ওয়ার্ডে ছবি মার্জ করবেন (2টি সহজ উপায়)