Visual Basic for Applications:
কমান্ড লাইন আর্গুমেন্টগুলি পড়া
কিভাবে:
আরো সরল প্রোগ্রামিং পরিবেশের বিপরীতে, VBA এ সাধারণ অর্থে সরাসরি কমান্ড লাইন আর্গুমেন্টস পড়ার জন্য কোনো অভ্যন্তরীণ বৈশিষ্ট্য নেই কারণ এটি মূলত Microsoft Office অ্যাপ্লিকেশনে এম্বেড করার জন্য ডিজাইন করা হয়েছে। যাইহোক, একটু সৃজনশীলতা দিয়ে আমরা Windows Script Host (WSH) ব্যবহার করে বা বাহ্যিক API গুলি ডেকে অনুরূপ কার্যকারিতা অর্জন করতে পারি। নিচে WSH ব্যবহার করে একটি বাস্তব সমাধান দেওয়া হল:
১. VBA তে আর্গুমেন্টস পাস করার জন্য একটি VBScript তৈরি করুন:
প্রথমে, আপনার VBA অ্যাপ্লিকেশন (যেমন, একটি Excel ম্যাক্রো) চালু করে এবং কমান্ড লাইন আর্গুমেন্টগুলি পাস করে এমন একটি VBScript ফাইল (yourScript.vbs) লিখুন:
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Open "C:\YourMacroWorkbook.xlsm"
objExcel.Run "YourMacroName", WScript.Arguments.Item(0), WScript.Arguments.Item(1)
objExcel.Quit
২. VBA তে আর্গুমেন্টগুলি অ্যাক্সেস করুন:
আপনার VBA অ্যাপ্লিকেশন (YourMacroWorkbook.xlsm) এ, প্যারামিটারগুলি গ্রহণ করার জন্য ম্যাক্রোটি (YourMacroName)কে মডিফাই করুন অথবা তৈরি করুন:
Sub YourMacroName(arg1 As String, arg2 As String)
MsgBox "Argument 1: " & arg1 & " Argument 2: " & arg2
End Sub
৩. আপনার স্ক্রিপ্ট রান করুন:
প্রয়োজনীয় আর্গুমেন্টগুলি পাস করে কমান্ড লাইন থেকে VBScript নির্বাহ করুন:
cscript yourScript.vbs "Hello" "World"
এটি “Hello” এবং “World” আর্গুমেন্টগুলির সাথে আপনার VBA ম্যাক্রোটি নির্বাহের ফলে একটি মেসেজ বক্সে তাদের প্রদর্শন করবে।
গভীর ডুব:
ঐতিহাসিক প্রেক্ষাপটে, VBA কে Microsoft Office অ্যাপ্লিকেশনগুলির ক্ষমতা বাড়ানোর জন্য প্রস্তাব করা হয়েছিল, না যে এটি একটি স্বাধীন প্রোগ্রামিং পরিবেশ হিসেবে। এই কারণে, কমান্ড লাইনের সাথে সরাসরি মিথষ্ক্রিয়া তার প্রাথমিক পরিসরের বাইরে, যা কমান্ড লাইন আর্গুমেন্টগুলি পড়ার জন্য অভ্যন্তরীণ সাপোর্টের অভাব ব্যাখ্যা করে।
উপরে উল্লিখিত পদ্ধতি, যদিও কার্যকর, একটি নেটিভ সমাধানের চেয়ে বেশি একটি বাস্তবিক সমাধান, বাইরের স্ক্রিপ্টিং ব্যবহার করে ফাঁক পূরণ করে। এই পদ্ধতি জটিলতা এবং সম্ভাব্য নিরাপত্তা উদ্বেগ প্রবর্তন করতে পারে যেহেতু এটি ম্যাক্রোগুলি সক্ষম করা এবং সম্ভাব্যভাবে নিরাপত্তা সেটিংস হ্রাস করার জন্য প্রয়োজন।
কমান্ড লাইন আর্গুমেন্টের উপর প্রচুর নির্ভরশীল কাজগুলির জন্য বা Windows অপারেটিং সিস্টেমের সাথে আরো নিখুঁত সংহতকরণের প্রয়োজনে, অন্যান্য প্রোগ্রামিং ভাষাগুলি যেমন PowerShell বা Python আরও শক্তিশালী এবং নিরাপদ সমাধান অফার করতে পারে। এই বিকল্পগুলি কমান্ড লাইন আর্গুমেন্টগুলির জন্য সরাসরি সাপোর্ট প্রদান করে এবং বহিঃস্থ ইনপুট প্রয়োজন করে এমন স্বাধীন অ্যাপ্লিকেশন বা স্ক্রিপ্টগুলির জন্য ভাল উপযোগী।