কম্পিউটার

VBA ম্যাক্রো এবং আউটলুক ব্যবহার করে এক্সেল থেকে ইমেল পাঠানো

আমি একটি এক্সেল স্প্রেডশীটে তালিকাভুক্ত ব্যবহারকারীদের ইমেল পাঠানোর একটি কাজ পেয়েছি। প্রতিটি ইমেল প্রতিটি ব্যবহারকারীর জন্য পৃথক কিছু তথ্য থাকতে হবে। আমি এক্সেলের একটি VBA ম্যাক্রো ব্যবহার করে এটি করার চেষ্টা করেছি যা কম্পিউটারে কনফিগার করা আউটলুক প্রোফাইল থেকে ইমেল পাঠিয়েছে। এখানে আমার সমাধান.

ধরুন, আপনার কাছে নিম্নলিখিত কলাম সহ একটি এক্সেল ফাইল আছে:

Email | Full Name | Last Password Change Date | Account status

VBA ম্যাক্রো এবং আউটলুক ব্যবহার করে এক্সেল থেকে ইমেল পাঠানো

আমার কাজ হল এই টেমপ্লেট থেকে তালিকার প্রতিটি ব্যবহারকারীকে এই ধরনের একটি ই-মেইল পাঠানো:

বিষয় :woshub.com ডোমেনে আপনার অ্যাকাউন্টের স্থিতি
Body :প্রিয় %FullUsername%,
woshub.com ডোমেনে আপনার অ্যাকাউন্ট %status% অবস্থায় আছে
শেষ পাসওয়ার্ড পরিবর্তনের তারিখ এবং সময় হল %pwdchange%

একটি নতুন ম্যাক্রো তৈরি করুন:দেখুন৷ -> ম্যাক্রো . ম্যাক্রোর নাম উল্লেখ করুন (send_email) এবং তৈরি করুন ক্লিক করুন :

VBA ম্যাক্রো এবং আউটলুক ব্যবহার করে এক্সেল থেকে ইমেল পাঠানো

প্রদর্শিত VBA সম্পাদকে নিম্নলিখিত কোডটি অনুলিপি করুন এবং পেস্ট করুন (আমি এটিতে প্রাসঙ্গিক মন্তব্য করেছি)। স্বয়ংক্রিয়ভাবে ইমেল পাঠানোর জন্য, আমি CreateObject (“Outlook.Application”) ফাংশন ব্যবহার করব যা VBA স্ক্রিপ্টের মধ্যে একটি Outlook অবজেক্ট তৈরি এবং ব্যবহার করতে দেয়।

গুরুত্বপূর্ণ . আউটলুক প্রোফাইল প্রেরক কম্পিউটারে কনফিগার করা আবশ্যক। এই মেলবক্স (এবং ইমেল ঠিকানা) ইমেল পাঠাতে ব্যবহার করা হবে.

Sub send_email()
Dim olApp As Object
Dim olMailItm As Object
Dim iCounter As Integer
Dim Dest As Variant
Dim SDest As String
' Subject
strSubj = "Your account status on woshub.com domain"
On Error GoTo dbg
' Create a new Outlook object
Set olApp = CreateObject("Outlook.Application")
For iCounter = 1 To WorksheetFunction.CountA(Columns(1))
' Create a new item (email) in Outlook
Set olMailItm = olApp.CreateItem(0)
strBody = ""
useremail = Cells(iCounter, 1).Value
FullUsername = Cells(iCounter, 2).Value
Status = Cells(iCounter, 4).Value
pwdchange = Cells(iCounter, 3).Value
'Make the body of an email
strBody = "Dear " & FullUsername & vbCrLf
strBody = strBody & " Your account in woshub.com domain is in" & Status & “ state” & vbCrLf
strBody = strBody & "The date and time of the last password change is" & pwdchange & vbCrLf
olMailItm.To = useremail
olMailItm.Subject = strSubj
olMailItm.BodyFormat = 1
' 1 – text format of an email, 2 -  HTML format
olMailItm.Body = strBody
olMailItm.Send
Set olMailItm = Nothing
Next iCounter
Set olApp = Nothing
dbg:
'Display errors, if any
If Err.Description <> "" Then MsgBox Err.Description
End Sub

VBA ম্যাক্রো এবং আউটলুক ব্যবহার করে এক্সেল থেকে ইমেল পাঠানো

এই এক্সেল ফাইলটিকে .xlsm হিসাবে সংরক্ষণ করুন৷ (ম্যাক্রো সমর্থনকারী এক্সেল ওয়ার্কবুকের একটি বিন্যাস)। ইমেল পাঠাতে, তৈরি পদ্ধতি (ম্যাক্রো) নির্বাচন করুন এবং রান ক্লিক করুন৷

VBA ম্যাক্রো এবং আউটলুক ব্যবহার করে এক্সেল থেকে ইমেল পাঠানো

ম্যাক্রো এক্সেল ওয়ার্কশীটে এক এক করে সমস্ত সারি দিয়ে যাবে, তালিকার প্রতিটি প্রাপককে একটি ইমেল তৈরি করবে এবং পাঠাবে।


  1. ভিবিএ ব্যবহার করে এক্সেলে সেলগুলি কীভাবে লক এবং আনলক করবেন

  2. কিভাবে এক্সেল ব্যবহার করে আউটলুক থেকে বাল্ক ইমেল পাঠাবেন (3 উপায়)

  3. আউটলুক ওয়েব থেকে ইমেলগুলি কীভাবে সংরক্ষণ করবেন

  4. জিমেইল এবং আউটলুক ব্যবহার করে এনক্রিপ্ট করা ইমেলগুলি কীভাবে পাঠাবেন?