কম্পিউটার টিউটোরিয়াল

VBA ম্যাক্রো এবং Outlook ব্যবহার করে Excel থেকে ইমেইল পাঠানো

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

মান लीজিয়ে, আপনার একটি Excel ফাইল আছে যেটিতে নিচের কলামগুলো রয়েছে:

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

VBA ম্যাক্রো এবং Outlook ব্যবহার করে Excel থেকে ইমেইল পাঠানো

আমার টাস্ক হলো এই টেমপ্লেট অনুযায়ী লিস্টের প্রতিটি ব্যবহারকারীরে ইমেইল পাঠানো:

Subject: Your account status on woshub.com domain
Body: Dear %FullUsername%,
Your account in woshub.com domain is in %status% state
The date and time of the last password change is %pwdchange%

নতুন ম্যাক্রো তৈরি করুন: View -> Macros। ম্যাক্রোর নাম দিন (send_email) এবং Create-এ ক্লিক করুন:

VBA ম্যাক্রো এবং Outlook ব্যবহার করে Excel থেকে ইমেইল পাঠানো

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

গুরুত্বপূর্ণ। পাঠানোর কম্পিউটারে 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 ম্যাক্রো এবং Outlook ব্যবহার করে Excel থেকে ইমেইল পাঠানো

এই Excel ফাইলটিকে .xlsm ফরম্যাটে (ম্যাক্রো সাপোর্ট করা Excel ওয়ার্কবুক ফরম্যাট) সেভ করুন। ইমেইল পাঠাতে, তৈরি করা প্রসিডিউর (ম্যাক্রো) সিলেক্ট করে Run-এ ক্লিক করুন।

VBA ম্যাক্রো এবং Outlook ব্যবহার করে Excel থেকে ইমেইল পাঠানো

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

  1. এক্সেল ভিবিএ মাস্টার করুন: সেল লক ও আনলক করুন দক্ষতার সাথে ডেটা নিরাপত্তার জন্য

  2. আউटलুক ব্যবহার করে এক্সেল থেকে বাল্ক ইমেইল পাঠান: ৩টি প্রমাণিত পদ্ধতি

  3. আউটলুক ওয়েব ইমেইল পিসিতে সংরক্ষণ করুন: ধাপে ধাপে গাইড

  4. আপনার মেসেজ সুরক্ষিত করুন: জিমেইল এবং আউটলुकে ইমেইল এনক্রিপ্ট করুন