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

ম্যাক্রো কনভার্টারের সাহায্যে আপনার VBA কোডকে Apps স্ক্রিপ্টে রূপান্তর করার সময় আপনি যে সাধারণ সমস্যাগুলির সম্মুখীন হতে পারেন তা নীচে তালিকাভুক্ত করা হয়েছে৷

প্রিন্টিং

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

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

অপরিবর্তিত আইটেম

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

ট্রিগার

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

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

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

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

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

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

যেহেতু Google পত্রক প্রতিটি সম্পাদনা স্বয়ংক্রিয়ভাবে সংরক্ষণ করে, সেহেতু BeforeSave এর মতো ইভেন্টের জন্য সমাধান সম্ভব নয়।

ইউজারফর্ম

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

একটি ব্যবহারকারী ফর্ম সংলাপ তৈরি করুন

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

নামকৃত রেঞ্জ

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

আপনি যখন আপনার এক্সেল ফাইলটিকে Google শীটে রূপান্তর করেন, তখন কিছু ধরণের নামযুক্ত রেঞ্জগুলিকে রূপান্তর করা হবে না কারণ সেগুলি সমর্থিত নয়৷ নীচে দুটি উদাহরণ দেওয়া হল:

অসমর্থিত নামকৃত ব্যাপ্তি বর্ণনা
টেবিল Google পত্রকগুলিতে সমর্থিত নয়, তবে একটি সমাধান রয়েছে৷

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