ম্যাক্রো কনভার্টার ব্যবহার করে আপনার VBA কোডকে অ্যাপস স্ক্রিপ্টে রূপান্তর করার সময় আপনার যেসব সাধারণ সমস্যার সম্মুখীন হতে পারে তা নীচে তালিকাভুক্ত করা হয়েছে।
মুদ্রণ
ফাইল প্রিন্ট করার জন্য ব্যবহৃত VBA APIগুলি স্বয়ংক্রিয়ভাবে Apps Script-এ রূপান্তরিত হয়, কিন্তু মূল VBA API-এর থেকে ভিন্নভাবে আচরণ করতে পারে। নীচে দুটি উদাহরণ দেওয়া হল:
| ভিবিএ এপিআই | অ্যাপস স্ক্রিপ্টে আচরণ |
|---|---|
PrintOut | অ্যাপস স্ক্রিপ্টে রূপান্তরিত হয়, কিন্তু অ্যাপস স্ক্রিপ্ট API প্রিন্টারের পরিবর্তে একটি ফাইলে প্রিন্ট করে। আপনি পিডিএফ ফাইলটি ম্যানুয়ালি প্রিন্ট করতে পারেন। |
PrintToFile | অ্যাপস স্ক্রিপ্টে রূপান্তরিত হয়। পিডিএফ ফাইলটি আপনার মাইড্রাইভ ফোল্ডারে সংরক্ষিত হয়। |
রূপান্তরিত না হওয়া আইটেম
নিম্নলিখিত বৈশিষ্ট্যগুলি ম্যাক্রো কনভার্টার দ্বারা রূপান্তরিত হয় না এবং ম্যানুয়ালি রূপান্তরিত করতে হয়:
- কিছু ধরণের ট্রিগার
- ব্যবহারকারীর ফর্ম
- নামযুক্ত ব্যাপ্তির অসমর্থিত প্রকারগুলি
ট্রিগার
দুই ধরণের ট্রিগার, কীবোর্ড শর্টকাট এবং কিছু ইভেন্ট-ভিত্তিক ট্রিগার, ম্যাক্রো কনভার্টার দ্বারা রূপান্তরিত হয় না। অনেক ক্ষেত্রে, আপনি এই ট্রিগারগুলি ম্যানুয়ালি তৈরি করতে পারেন।
কীবোর্ড শর্টকাট
কীবোর্ড শর্টকাট যোগ করতে, ম্যাক্রো হিসেবে ফাংশন আমদানি করার ধাপগুলি অনুসরণ করুন।
ইভেন্ট-ভিত্তিক ট্রিগার
VBA কোডের কিছু ইভেন্ট, যেমন BeforeClose বা BeforeSave , অ্যাপস স্ক্রিপ্টে সমতুল্য নয়, তবে আপনি একটি সমাধান তৈরি করতে সক্ষম হতে পারেন।
BeforeClose এর মতো ইভেন্টের জন্য, আপনি একটি কাস্টম মেনু বা বোতাম তৈরি করতে পারেন যা ক্লিক করে স্প্রেডশিট বন্ধ করার আগে যে কাজটি করা প্রয়োজন তা সম্পাদন করতে হবে।
যেহেতু গুগল শিট প্রতিটি সম্পাদনা স্বয়ংক্রিয়ভাবে সংরক্ষণ করে, তাই BeforeSave মতো ইভেন্টগুলির জন্য সমাধান সম্ভব নয়।
ব্যবহারকারীর ফর্ম
VBA-তে, UserForm হল একটি অ্যাপ্লিকেশনের ইউজার ইন্টারফেস (UI) এর একটি উইন্ডো বা ডায়ালগ বক্স। ম্যাক্রো কনভার্টার UserForms রূপান্তর করে না। আপনি Apps Script-এ ম্যানুয়ালি এগুলি তৈরি করতে পারেন।
একটি ব্যবহারকারী ফর্ম ডায়ালগ তৈরি করুন
- আপনার কম্পিউটারে, Google Sheets- এ রূপান্তরিত ফাইলটি খুলুন।
- উপরে, এক্সটেনশন > ** অ্যাপস স্ক্রিপ্ট** এ ক্লিক করুন।
- "Files" এর পাশে সম্পাদকের বাম দিকে, একটি ফাইল যোগ > HTML এ ক্লিক করুন। আমরা সুপারিশ করছি যে আপনি HTML ফাইলটিকে আপনার মূল VBA UserForm এর মতো একই নাম দিন।
- আপনার ফর্মে যে ক্ষেত্র এবং তথ্য দেখাতে চান তা যোগ করুন। HTML ফর্ম সম্পর্কে আরও জানুন W3school.com এ।
- বাম দিকে, আপনার রূপান্তরিত কোড থাকা অ্যাপস স্ক্রিপ্ট ফাইল (GS ফাইল) এ ক্লিক করুন।
- যদি আপনার কোডে ইতিমধ্যেই একটি
onOpen()ট্রিগার থাকে, তাহলে নীচের কোডটি দিয়ে এটি আপডেট করুন। যদি আপনার কোডেonOpen()ট্রিগার না থাকে, তাহলে নীচের কোডটি যোগ করুন।function onOpen() { SpreadsheetApp.getUi() .createMenu('User Form') .addItem('Show Form', 'showForm') .addToUi(); } function showForm() { var html = HtmlService.createHtmlOutputFromFile('userform_module_name') .setWidth(100) .setTitle('Sign-up for Email Updates'); SpreadsheetApp.getUi().showSidebar(html); }
- আপনার যোগ করা HTML ফাইলের নাম দিয়ে
userform_module_nameপ্রতিস্থাপন করুন। - উপরে, প্রজেক্ট সেভ এ ক্লিক করুন।
- গুগল শিটে যান এবং পৃষ্ঠাটি পুনরায় লোড করুন।
- গুগল শিটের উপরে, ব্যবহারকারীর ফর্ম > ফর্ম দেখান এ ক্লিক করুন।
নামযুক্ত ব্যাপ্তি
এক্সেলে, নামযুক্ত রেঞ্জ হল একটি একক কোষ বা কোষের পরিসরের নাম দেওয়া হয়।
যখন আপনি আপনার এক্সেল ফাইলটি গুগল শিটে রূপান্তর করেন, তখন কিছু ধরণের নামযুক্ত রেঞ্জ রূপান্তরিত হবে না কারণ সেগুলি সমর্থিত নয়। নীচে দুটি উদাহরণ দেওয়া হল:
| অসমর্থিত নামযুক্ত ব্যাপ্তি | বিবরণ |
|---|---|
| টেবিল | গুগল শিটসে সমর্থিত নয়, তবে এর একটি সমাধান আছে। শীটগুলিতে এই নামযুক্ত পরিসরটি পুনরায় তৈরি করতে, একটি নামযুক্ত পরিসর যুক্ত করুন যা টেবিল পরিসরের A1 স্বরলিপি নির্দেশ করে। আপনার VBA কোডে মূল নামযুক্ত পরিসরের মতো একই নাম ব্যবহার করুন যাতে রূপান্তরিত কোডটি এটিকে চিনতে পারে। |
| ব্যাপ্তির তালিকা | গুগল শিটস-এ সমর্থিত নয়। এর কোনও সমাধান নেই। |
সম্পর্কিত নিবন্ধ
- ম্যাক্রো কনভার্টার অ্যাড-অন ওভারভিউ
- VBA ম্যাক্রোগুলি সামঞ্জস্যপূর্ণ কিনা তা নির্ধারণ করুন
- VBA ম্যাক্রোগুলিকে অ্যাপস স্ক্রিপ্টে রূপান্তর করুন
- আপনার রূপান্তরিত কোডে ত্রুটিগুলি ঠিক করুন
- ম্যাক্রো কনভার্টার টিউটোরিয়াল দেখুন
- সামঞ্জস্যপূর্ণ VBA API-এর তালিকা