সাধারণ সমস্যা সমাধান করুন

ম্যাক্রো কনভার্টার ব্যবহার করে ভিজ্যুয়াল বেসিক ফর অ্যাপ্লিকেশনস (VBA) কোডকে অ্যাপস স্ক্রিপ্টে রূপান্তর করার সময় আপনার সম্মুখীন হতে পারে এমন সাধারণ সমস্যাগুলির তালিকা এই নির্দেশিকাটিতে দেওয়া হয়েছে।

ফাইল প্রিন্ট করার জন্য ব্যবহৃত VBA APIগুলি স্বয়ংক্রিয়ভাবে Apps Script-এ রূপান্তরিত হয়, কিন্তু মূল VBA API-এর থেকে ভিন্নভাবে আচরণ করতে পারে। নিম্নলিখিত টেবিলে দুটি উদাহরণ দেখানো হয়েছে:

ভিবিএ এপিআই অ্যাপস স্ক্রিপ্টে আচরণ
PrintOut অ্যাপস স্ক্রিপ্টে রূপান্তরিত হয়, কিন্তু অ্যাপস স্ক্রিপ্ট API প্রিন্টারের পরিবর্তে একটি ফাইলে প্রিন্ট করে। পিডিএফ ফাইলটি ম্যানুয়ালি প্রিন্ট করুন।
PrintToFile অ্যাপস স্ক্রিপ্টে রূপান্তরিত হয়। পিডিএফ ফাইলটি আপনার মাইড্রাইভ ফোল্ডারে সংরক্ষিত হয়।

রূপান্তরিত না হওয়া আইটেম

নিম্নলিখিত বৈশিষ্ট্যগুলি ম্যাক্রো কনভার্টার দ্বারা রূপান্তরিত হয় না এবং ম্যানুয়ালি রূপান্তরিত করতে হয়:

ট্রিগার

দুই ধরণের ট্রিগার, কীবোর্ড শর্টকাট এবং কিছু ইভেন্ট-ভিত্তিক ট্রিগার, ম্যাক্রো কনভার্টার দ্বারা রূপান্তরিত হয় না। অনেক ক্ষেত্রে, আপনি এই ট্রিগারগুলি ম্যানুয়ালি তৈরি করতে পারেন।

কীবোর্ড শর্টকাট

কীবোর্ড শর্টকাট যোগ করতে, ম্যাক্রো হিসেবে ফাংশন আমদানি করার ধাপগুলি অনুসরণ করুন।

ইভেন্ট-ভিত্তিক ট্রিগার

VBA কোডের কিছু ইভেন্ট, যেমন BeforeClose বা BeforeSave , অ্যাপস স্ক্রিপ্টে সমতুল্য নয়, তবে আপনি একটি সমাধান তৈরি করতে সক্ষম হতে পারেন।

BeforeClose মতো ইভেন্টের জন্য, আপনি একটি কাস্টম মেনু বা বোতাম তৈরি করতে পারেন যা ক্লিক করে স্প্রেডশিট বন্ধ করার আগে যে কাজটি করা প্রয়োজন তা সম্পাদন করতে হবে।

BeforeSave ইভেন্টের জন্য সমাধান সম্ভব নয় কারণ Google Sheets আপনার পরিবর্তনগুলি করার সাথে সাথে স্বয়ংক্রিয়ভাবে সেভ করে।

ব্যবহারকারীর ফর্ম

VBA-তে, UserForm হল একটি অ্যাপ্লিকেশনের ইউজার ইন্টারফেস (UI) এর একটি উইন্ডো বা ডায়ালগ। ম্যাক্রো কনভার্টার UserForms রূপান্তর করে না। Apps Script-এ ম্যানুয়ালি এগুলি তৈরি করুন।

একটি ব্যবহারকারী ফর্ম ডায়ালগ তৈরি করুন

  1. আপনার কম্পিউটারে, রূপান্তরিত ফাইলটি Sheets এ খুলুন।
  2. উপরে, এক্সটেনশন > ** অ্যাপস স্ক্রিপ্ট** এ ক্লিক করুন।
  3. "Files" এর পাশে সম্পাদকের বাম দিকে, একটি ফাইল > HTML এ ক্লিক করুন। আমরা সুপারিশ করছি যে আপনি HTML ফাইলটিকে আপনার মূল VBA UserForm এর মতো একই নাম দিন।
  4. আপনার ফর্মে যে ক্ষেত্র এবং তথ্য দেখাতে চান তা যোগ করুন। HTML ফর্ম সম্পর্কে আরও জানুন W3school.com এ।
  5. বাম দিকে, আপনার রূপান্তরিত কোড থাকা অ্যাপস স্ক্রিপ্ট ফাইল (GS ফাইল) এ ক্লিক করুন।
  6. যদি আপনার কোডে ইতিমধ্যেই একটি 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);
    }
        
  7. আপনার যোগ করা HTML ফাইলের নাম দিয়ে userform_module_name প্রতিস্থাপন করুন।
  8. উপরে, প্রজেক্ট সেভ এ ক্লিক করুন।
  9. গুগল শিটে যান এবং পৃষ্ঠাটি পুনরায় লোড করুন।
  10. গুগল শিটের উপরে, ব্যবহারকারীর ফর্ম > ফর্ম দেখান এ ক্লিক করুন।

নামযুক্ত ব্যাপ্তি

এক্সেলে, নামযুক্ত রেঞ্জ হল একটি একক কোষ বা কোষের পরিসরের নাম দেওয়া হয়।

যখন আপনি Excel ফাইলগুলিকে Sheets-এ রূপান্তর করেন, তখন নির্দিষ্ট কিছু নামযুক্ত রেঞ্জের ধরণ রূপান্তরিত হয় না কারণ সেগুলি সমর্থিত নয়। নিম্নলিখিত সারণীতে সাধারণ উদাহরণগুলি তালিকাভুক্ত করা হয়েছে:

অসমর্থিত নামযুক্ত ব্যাপ্তি বিবরণ
টেবিল Sheets-এ সমর্থিত নয়, তবে এর একটি সমাধান আছে।

শীটগুলিতে এই নামযুক্ত পরিসরটি পুনরায় তৈরি করতে, একটি নামযুক্ত পরিসর যুক্ত করুন যা টেবিল পরিসরের A1 স্বরলিপি নির্দেশ করে। আপনার VBA কোডে মূল নামযুক্ত পরিসরের মতো একই নাম ব্যবহার করুন যাতে রূপান্তরিত কোডটি এটিকে চিনতে পারে।
ব্যাপ্তির তালিকা Sheets-এ সমর্থিত নয়। এর কোনও সমাধান নেই।