
এক্সেল VBA এবং Google Apps স্ক্রিপ্ট উভয়ই কাজগুলিকে স্বয়ংক্রিয় করতে, কাস্টম ফাংশন তৈরি করতে, বিভিন্ন প্ল্যাটফর্মের সাথে একীভূত করতে ব্যবহার করা হয়, ইত্যাদি। যাইহোক, উত্পাদনশীলতা বাড়াতে এক্সেল VBA এবং Google Apps স্ক্রিপ্ট উভয়ের দ্বারা অটোমেশন হল সবচেয়ে শক্তিশালী বৈশিষ্ট্য। এই নিবন্ধে, আমরা এক্সেল VBA এবং Google Apps স্ক্রিপ্টের সুবিধা, অসুবিধা এবং ব্যবহারিক উদাহরণগুলির সাথে তুলনা করব। এই নিবন্ধটি আপনাকে আপনার প্রয়োজনীয়তার উপর ভিত্তি করে কোনটি ব্যবহার করতে হবে তা নির্ধারণ করতে সহায়তা করবে৷
এক্সেল VBA এবং Google Apps স্ক্রিপ্ট কি?
- Excel VBA :ভিজ্যুয়াল বেসিক অ্যাপ্লিকেশন (ভিবিএ) মাইক্রোসফ্ট এক্সেলে একটি অন্তর্নির্মিত প্রোগ্রামিং ভাষা। এটি ব্যবহারকারীদের কাজগুলি স্বয়ংক্রিয় করতে, কাস্টম ফাংশন তৈরি করতে এবং এক্সেলের ক্ষমতা প্রসারিত করতে দেয়।
- Google Apps স্ক্রিপ্ট৷ :Apps Script হল একটি ক্লাউড-ভিত্তিক স্ক্রিপ্টিং টুল যা সমস্ত Google Workspace অ্যাপ জুড়ে JavaScript ভাষা ব্যবহার করে। এটি আপনাকে কাজগুলি স্বয়ংক্রিয় করতে এবং পরিষেবাগুলিকে সংহত করতে দেয়৷
Excel VBA-এর সুবিধা-অসুবিধা
সুবিধা
- VBA এক্সেলের বৈশিষ্ট্যগুলির সাথে গভীর একীকরণ সমর্থন করে, জটিল টাস্ক অটোমেশনকে অনুমতি দেয়৷
- এটি কাস্টম এক্সেল অ্যাড-ইন এবং UI কাস্টমাইজেশন অফার করে৷ ৷
- এটি ইন্টারনেট সংযোগ ছাড়াই কাজ করে৷ ৷
- যেমন এটি আগে চালু করা হয়েছিল আপনি হাজার হাজার বিদ্যমান VBA সমাধান এবং শক্তিশালী সম্প্রদায় সমর্থন পাবেন৷
কনস
- উইন্ডোজে সীমিত কারণ VBA ওয়েবের জন্য এক্সেল বা বেশিরভাগ macOS সংস্করণে চলে না৷
- VBA সম্পাদকে স্বয়ংসম্পূর্ণতার মতো আধুনিক IDE বৈশিষ্ট্যের অভাব রয়েছে৷
- একটি নির্দিষ্ট ভাষা শেখার প্রয়োজন (ভিজ্যুয়াল বেসিক)। VBA সিনট্যাক্স JavaScript থেকে কম শিক্ষানবিস-বান্ধব
- অ-Microsoft প্ল্যাটফর্ম জুড়ে সীমিত সামঞ্জস্য।
অফলাইনে কাজ করার সময় আপনি কাজগুলি স্বয়ংক্রিয় করতে এক্সেল VBA ব্যবহার করতে পারেন। ড্যাশবোর্ড, পিভট টেবিল এবং কাস্টম ফাংশনের মতো জটিল এক্সেল সমাধান তৈরি করতে। এক্সেল শক্তিশালী আর্থিক বা পরিসংখ্যানগত মডেল তৈরি করে। এক্সেল ভারী এবং বড় ডেটা প্রক্রিয়া করতে পারে৷
Google Apps স্ক্রিপ্টের সুবিধা এবং অসুবিধা
সুবিধা
- ইন্টারনেট অ্যাক্সেস সহ যেকোনো ডিভাইসে কাজ করে। একাধিক ব্যবহারকারীর সাথে রিয়েল-টাইম সহযোগিতা সক্ষম করে৷
- অ্যাপস স্ক্রিপ্ট জাভাস্ক্রিপ্টের উপর ভিত্তি করে, একটি জনপ্রিয় এবং বহুমুখী প্রোগ্রামিং ভাষা।
- এটি নিরবিচ্ছিন্নভাবে Google Workspace (Docs, Sheets, Drive) এবং বাহ্যিক API-এর সাথে একীভূত হয়।
- স্বয়ংক্রিয় ইমেল পাঠানো সহজ।
- স্ক্রিপ্টগুলি ক্লাউডে চলে, স্থানীয় সম্পদের ব্যবহার হ্রাস করে৷ ৷
কনস
- একটি স্থিতিশীল ইন্টারনেট সংযোগ প্রয়োজন৷ ৷
- ভারী কাজের জন্য ধীর কর্মক্ষমতা। বড় ডেটা প্রসেসিং পরিচালনা করতে পারে না।
- Excel এ পাওয়া কিছু উন্নত স্প্রেডশীট বৈশিষ্ট্য সমর্থন করে না।
- Google অ্যাকাউন্টের অনুমতি প্রয়োজন, যা সীমাবদ্ধ পরিবেশে সহযোগিতাকে জটিল করে তুলতে পারে।
ক্রস-প্ল্যাটফর্ম অ্যাক্সেস পেতে আপনি সহযোগী প্রকল্পের জন্য Google পত্রক ব্যবহার করতে পারেন। Google Workspace এবং বাহ্যিক API ব্যবহার করে ওয়ার্কফ্লো স্বয়ংক্রিয় করতে। এটি সহজ ডেটা অপারেশন করে।
ব্যবহারের ক্ষেত্রে:অতিরিক্ত কাজগুলি হাইলাইট করুন এবং স্বয়ংক্রিয়ভাবে ইমেল পাঠান
চলুন আপনাকে এক্সেল VBA এবং Google Apps স্ক্রিপ্ট উভয়ের জন্য তাদের অনন্য ক্ষমতা প্রদর্শনের জন্য সহজ এবং ব্যবহারিক ব্যবহারের ক্ষেত্রে দেখাই। বিবেচনা করুন আপনার কাছে একটি টাস্ক ট্র্যাকার আছে যেখানে আপনি আপনার টাস্ক, শুরুর তারিখ, শেষ তারিখ, স্ট্যাটাস, অ্যাসাইনড, টিমের সদস্যদের ইমেল ঠিকানা ইত্যাদি সম্পর্কে সবকিছু তালিকাভুক্ত করেন৷
এক্সেল VBA
Excel VBA নির্ধারিত তারিখ হাইলাইট করবে এবং Outlook ব্যবহার করে কোনো কাজ শেষ হয়ে গেলে একটি ইমেল সতর্কতা পাঠাবে।
- ডেভেলপার-এ যান ট্যাব>> ভিজ্যুয়াল বেসিক নির্বাচন করুন .
- VBA সম্পাদকে, ঢোকান এ যান ট্যাব>> মডিউল নির্বাচন করুন .
- নিম্নলিখিত VBA কোডটি মডিউলে ঢোকান .

VBA কোড:
Sub SendOverdueTaskEmails()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim taskName As String
Dim endDate As Date
Dim assignedTo As String
Dim emailAddress As String
Dim taskStatus As String
Dim todayDate As Date
' Set worksheet and determine the last row
Set ws = ThisWorkbook.Sheets("Tasks")
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
todayDate = Date
' Initialize Outlook application
On Error Resume Next
Set OutlookApp = CreateObject("Outlook.Application")
On Error GoTo 0
If OutlookApp Is Nothing Then
MsgBox "Outlook is not available. Please make sure Outlook is installed and configured.", vbCritical
Exit Sub
End If
' Loop through tasks in the dataset
For i = 2 To lastRow
taskName = ws.Cells(i, 2).Value
endDate = ws.Cells(i, 4).Value
assignedTo = ws.Cells(i, 5).Value
taskStatus = ws.Cells(i, 6).Value
emailAddress = ws.Cells(i, 7).Value
' Check if task is overdue and not completed
If endDate < todayDate And taskStatus <> "Completed" Then
' Highlight the due date cell in red
ws.Cells(i, 4).Interior.Color = RGB(255, 0, 0)
' Create the email
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
.To = emailAddress
.Subject = "Overdue Task Notification: " & taskName
.Body = "Dear " & assignedTo & "," & vbCrLf & vbCrLf & _
"The task """ & taskName & """ was due on " & endDate & " and is now overdue." & vbCrLf & _
"Please review and update the status as soon as possible." & vbCrLf & vbCrLf & _
"Best regards," & vbCrLf & _
"Task Management Team"
.Send
End With
Set OutlookMail = Nothing
End If
Next i
' Clean up
Set OutlookApp = Nothing
MsgBox "Emails sent for overdue tasks!", vbInformation
End Sub
ব্যাখ্যা:
- ওয়ার্কশীট সেট করুন :টাস্ক শীট রেফারেন্স করা হয়, এবং ডেটা সহ শেষ সারি নির্ধারণ করা হয়।
- আউটলুক শুরু করুন :Outlook ইনস্টল করা আছে কিনা তা পরীক্ষা করে এবং একটি Outlook অ্যাপ্লিকেশন অবজেক্ট সেট আপ করে।
- টাস্কের মাধ্যমে লুপ করুন :
- প্রতিটি কাজের মাধ্যমে পুনরাবৃত্তি করে।
- টাস্কের নাম, শেষ তারিখ, বরাদ্দকৃত ব্যক্তি, ইমেল এবং স্থিতির মতো বিশদ বিবরণ পুনরুদ্ধার করে।
- ওভারডি টাস্ক চেক করুন :যদি টাস্কটি ওভারডিউ হয়ে থাকে (শেষ তারিখ <আজ) এবং "সম্পূর্ণ" হিসাবে চিহ্নিত না করা হয়, তাহলে নিম্নলিখিত ক্রিয়াগুলি ঘটবে:
- লাল রঙে হাইলাইট করুন :শেষ তারিখের ঘরটি লাল রঙের (RGB(255, 0, 0))।
- ইমেল পাঠান :কাজের বিবরণ সহ Outlook ব্যবহার করে একটি ইমেল তৈরি করে এবং পাঠায়৷
- পরিষ্কার :Outlook অবজেক্ট রিলিজ করে এবং একটি নিশ্চিতকরণ বার্তা দেখায়।
- সংরক্ষণ করুন৷ এবং চালান কোড আপনার ওয়ার্কশীটে ফিরে যান।
এই কোডটি ইমেলের মাধ্যমে উভয় টাস্ক রিমাইন্ডারকে স্বয়ংক্রিয় করে দেয় এবং এক্সেলে অতিরিক্ত তারিখ হাইলাইট করে।
আউটপুট:

VBA অন্তর্দৃষ্টি:
- একই সিস্টেমে Microsoft Excel এবং Outlook ইনস্টল করতে হবে।
- এক্সেল থেকে টাস্ক ডেটা পড়ে, অতিরিক্ত কাজগুলি পরীক্ষা করে, সেগুলিকে লাল রঙে হাইলাইট করে এবং Outlook এর মাধ্যমে ইমেল পাঠায়৷
- এর জন্য আরও সেটআপ প্রয়োজন, কারণ আপনাকে Outlook এবং বৈধ ইমেল ঠিকানাগুলির সঠিক কনফিগারেশন নিশ্চিত করতে হবে৷
- ইমেল ঠিকানা বা Outlook সঠিকভাবে সেট আপ না হলে রানটাইম ত্রুটির প্রতি সংবেদনশীল।
Google Apps স্ক্রিপ্ট
Google Apps স্ক্রিপ্ট ব্যবহার করে Gmail ব্যবহার করে অতিরিক্ত কাজগুলির জন্য একটি ইমেল সতর্কতা পাঠান৷
৷পদক্ষেপ:
- এক্সটেনশন-এ যান মেনু>> অ্যাপ স্ক্রিপ্ট নির্বাচন করুন .
- কোড এডিটরে নিচের স্ক্রিপ্টটি ঢোকান।
অ্যাপস স্ক্রিপ্ট কোড:
function sendOverdueTaskemail() {
// Open the active sheet
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Tasks");
// Get data range (assumes headers are in row 1)
const range = sheet.getDataRange();
const data = range.getValues();
// Loop through rows starting from row 2
for (let i = 1; i < data.length; i++) {
const taskName = data[i][1]; // Task Name in column B
const endDate = new Date(data[i][3]); // End Date in column D
const assignedTo = data[i][4]; // Assigned To in column E
const status = data[i][5]; // Status in column F
const email = data[i][6]; // Email Address in column G
// Check if the task is overdue and not completed
if (endDate < new Date() && status !== "Completed")
sheet.getRange(i + 1, 4).setBackground("red");
{
const subject = `Overdue Task Notification: ${taskName}`;
const body = `Dear ${assignedTo},\n\nThe task "${taskName}" was due on ${endDate.toDateString()} and is now overdue. Please review and update the status as soon as possible.\n\nBest regards,\nTask Management Team`;
// Send email
GmailApp.sendEmail(email, subject, body);
}
}
SpreadsheetApp.getUi().alert("Emails sent to the assigned individuals for overdue tasks!");
}
ব্যাখ্যা:
- সেটআপ শীট৷ :টাস্ক শীট অ্যাক্সেস করে এবং সমস্ত ডেটা পুনরুদ্ধার করে।
- টাস্কের মাধ্যমে লুপ করুন :দ্বিতীয় থেকে শুরু করে প্রতিটি সারির মাধ্যমে পুনরাবৃত্তি হয়।
- ওভারডি টাস্ক চেক করুন :যদি শেষ তারিখ অতীত হয় এবং স্ট্যাটাস "সম্পূর্ণ" না হয়:
- শেষ তারিখের ঘরকে লাল হাইলাইট করে .
- জিমেইল ব্যবহার করে নির্ধারিত ব্যক্তিকে একটি ইমেল বিজ্ঞপ্তি পাঠান।
- সম্পূর্ণতা :প্রক্রিয়াকরণের পরে একটি সাফল্যের বার্তা প্রদর্শন করে৷
কোডটি চালান এবং আপডেটটি দেখতে আপনার শীটে ফিরে যান। ইমেল বিজ্ঞপ্তিগুলি দেখতে আপনার মেল অ্যাকাউন্ট চেক করুন৷
৷আউটপুট:


Google Apps স্ক্রিপ্ট অন্তর্দৃষ্টি:৷
- ইমেল পাঠাতে Gmail ব্যবহার করে সরাসরি Google শীটে চলে।
- টাস্ক ডেটা পড়ে, অতিরিক্ত কাজগুলিকে লাল রঙে হাইলাইট করে এবং Gmail এর মাধ্যমে ইমেল পাঠায়৷
- Google ইকোসিস্টেমে Gmail সহজে অ্যাক্সেসযোগ্য হওয়ায় আরও সহজ সেটআপ।
- আউটলুকের মতো অতিরিক্ত সফ্টওয়্যারের উপর নির্ভরতা নেই, এটিকে হালকা করে তোলে৷
উপসংহার
এক্সেল VBA অফলাইন কাজ এবং জটিল এক্সেল-নির্দিষ্ট ক্রিয়াকলাপগুলির জন্য একটি শক্তিশালী হাতিয়ার, যেমন উন্নত প্রতিবেদন তৈরি করা এবং বড় ডেটাসেটগুলি পরিচালনা করা, অ্যাড-ইন তৈরি করা ইত্যাদি।
Google Apps স্ক্রিপ্ট ক্লাউড-ভিত্তিক পরিবেশে উপযোগী, বিশেষ করে যখন প্ল্যাটফর্ম জুড়ে কাজ করে এবং Google Workspace অ্যাপের সাথে একীভূত হয়।
এই সাধারণ উদাহরণগুলি প্রতিটি টুলের শক্তি প্রদর্শন করে, আপনার প্রয়োজনীয়তার উপর ভিত্তি করে সঠিকটি বেছে নেওয়া সহজ করে তোলে।
সমাধান সহ বিনামূল্যে উন্নত এক্সেল ব্যায়াম পান!