Google পত্রক ম্যাক্রো

Google Sheets আপনাকে এমন ম্যাক্রো রেকর্ড করতে দেয় যা আপনার সংজ্ঞায়িত UI ইন্টারঅ্যাকশনের একটি নির্দিষ্ট সিরিজের নকল করে। একবার আপনি একটি ম্যাক্রো রেকর্ড করার পরে, আপনি এটিকে Ctrl+Alt+Shift+Number আকারে একটি কীবোর্ড শর্টকাটের সাথে লিঙ্ক করতে পারেন। আপনি সেই শর্টকাটটি ব্যবহার করে সঠিক ম্যাক্রো ধাপগুলি আবার দ্রুত কার্যকর করতে পারেন, সাধারণত একটি ভিন্ন জায়গায় বা ভিন্ন ডেটাতে। আপনি Google Sheets Extensions > Macros মেনু থেকেও ম্যাক্রো সক্রিয় করতে পারেন।

যখন আপনি একটি ম্যাক্রো রেকর্ড করেন, তখন Google Sheets স্বয়ংক্রিয়ভাবে একটি Apps Script ফাংশন ( ম্যাক্রো ফাংশন ) তৈরি করে যা ম্যাক্রো ধাপগুলির প্রতিলিপি তৈরি করে। ম্যাক্রো ফাংশনটি macros.gs নামে একটি ফাইলে শীটের সাথে আবদ্ধ একটি Apps Script প্রকল্পে যোগ করা হয়। যদি ইতিমধ্যেই সেই নামের শীটে একটি প্রকল্প ফাইল আবদ্ধ থাকে, তাহলে ম্যাক্রো ফাংশনটি এতে যুক্ত করা হয়। Google Sheets স্বয়ংক্রিয়ভাবে স্ক্রিপ্ট প্রকল্প ম্যানিফেস্ট আপডেট করে, ম্যাক্রোতে নির্ধারিত নাম এবং কীবোর্ড শর্টকাট রেকর্ড করে।

যেহেতু প্রতিটি রেকর্ড করা ম্যাক্রো সম্পূর্ণরূপে অ্যাপস স্ক্রিপ্টের মধ্যেই সংজ্ঞায়িত, তাই আপনি অ্যাপস স্ক্রিপ্ট এডিটরের মধ্যেই সরাসরি এগুলি সম্পাদনা করতে পারেন। আপনি অ্যাপস স্ক্রিপ্টে স্ক্র্যাচ থেকে ম্যাক্রো লিখতে পারেন, অথবা আপনার ইতিমধ্যে লেখা ফাংশনগুলি গ্রহণ করে ম্যাক্রোতে রূপান্তর করতে পারেন।

অ্যাপস স্ক্রিপ্টে ম্যাক্রো তৈরি করা হচ্ছে

আপনি অ্যাপস স্ক্রিপ্টে লেখা ফাংশনগুলি নিতে পারেন এবং সেগুলিকে ম্যাক্রো ফাংশন হিসেবে ব্যবহার করতে পারেন। এটি করার সবচেয়ে সহজ উপায় হল Google Sheets সম্পাদক থেকে একটি বিদ্যমান ফাংশন আমদানি করা

বিকল্পভাবে, আপনি এই পদক্ষেপগুলি অনুসরণ করে অ্যাপস স্ক্রিপ্ট এডিটরের মধ্যে ম্যাক্রো তৈরি করতে পারেন:

  1. Google Sheets UI-তে, Apps Script এডিটরে শীটের সাথে আবদ্ধ স্ক্রিপ্টটি খুলতে Extensions > Apps Script নির্বাচন করুন।
  2. ম্যাক্রো ফাংশনটি লিখুন। ম্যাক্রো ফাংশনগুলি কোনও আর্গুমেন্ট গ্রহণ করবে না এবং কোনও মান প্রদান করবে না।
  3. ম্যাক্রো তৈরি করতে আপনার স্ক্রিপ্ট ম্যানিফেস্ট সম্পাদনা করুন এবং এটিকে ম্যাক্রো ফাংশনের সাথে লিঙ্ক করুন। এটিকে একটি অনন্য কীবোর্ড শর্টকাট এবং নাম দিন।
  4. স্ক্রিপ্ট প্রজেক্টটি সংরক্ষণ করুন। এরপর ম্যাক্রোটি শীটে ব্যবহারের জন্য উপলব্ধ হবে।
  5. শীটে ম্যাক্রো ফাংশনটি পরীক্ষা করে দেখুন যে এটি উদ্দেশ্য অনুসারে কাজ করছে কিনা।

ম্যাক্রো সম্পাদনা করা হচ্ছে

আপনি নিম্নলিখিত কাজগুলি করে একটি শীটের সাথে সংযুক্ত ম্যাক্রোগুলি সম্পাদনা করতে পারেন:

  1. Google Sheets UI-তে, Extensions > Macros > Manage macros নির্বাচন করুন।
  2. আপনি যে ম্যাক্রোটি সম্পাদনা করতে চান তা খুঁজুন এবং > Edit macro নির্বাচন করুন। এটি ম্যাক্রো ফাংশন ধারণকারী প্রজেক্ট ফাইলে Apps Script সম্পাদকটি খুলবে।
  3. ম্যাক্রো আচরণ পরিবর্তন করতে ম্যাক্রো ফাংশন সম্পাদনা করুন।
  4. স্ক্রিপ্ট প্রজেক্টটি সংরক্ষণ করুন। এরপর ম্যাক্রোটি শীটে ব্যবহারের জন্য উপলব্ধ হবে।
  5. শীটে ম্যাক্রো ফাংশনটি পরীক্ষা করে দেখুন যে এটি উদ্দেশ্য অনুসারে কাজ করছে কিনা।

ম্যাক্রো হিসেবে ফাংশন আমদানি করা হচ্ছে

যদি ইতিমধ্যেই কোনও স্ক্রিপ্ট একটি শীটের সাথে আবদ্ধ থাকে, তাহলে আপনি স্ক্রিপ্টে একটি ফাংশন একটি নতুন ম্যাক্রো হিসাবে আমদানি করতে পারেন এবং তারপরে এটিকে একটি কীবোর্ড শর্টকাট বরাদ্দ করতে পারেন। আপনি ম্যানিফেস্ট ফাইলটি সম্পাদনা করে এবং sheets.macros[] বৈশিষ্ট্যে আরেকটি উপাদান যোগ করে এটি করতে পারেন।

বিকল্পভাবে, Sheets UI থেকে ম্যাক্রো হিসেবে একটি ফাংশন আমদানি করতে এই পদক্ষেপগুলি অনুসরণ করুন:

  1. Google Sheets UI-তে, Extensions > Macros > Import নির্বাচন করুন।
  2. উপস্থাপিত তালিকা থেকে একটি ফাংশন নির্বাচন করুন এবং তারপর ফাংশন যোগ করুন ক্লিক করুন।
  3. ডায়ালগটি বন্ধ করতে নির্বাচন করুন।
  4. এক্সটেনশন > ম্যাক্রো > ম্যাক্রো পরিচালনা নির্বাচন করুন।
  5. তালিকায় আপনি যে ফাংশনটি আমদানি করেছেন তা সনাক্ত করুন। ম্যাক্রোতে একটি অনন্য কীবোর্ড শর্টকাট বরাদ্দ করুন। আপনি এখানে ম্যাক্রোর নামও পরিবর্তন করতে পারেন; নামটি ডিফল্টভাবে ফাংশনের নামে থাকে।
  6. ম্যাক্রো কনফিগারেশন সংরক্ষণ করতে আপডেট ক্লিক করুন।

ম্যাক্রোর জন্য ম্যানিফেস্ট কাঠামো

নিম্নলিখিত ম্যানিফেস্ট ফাইলের উদাহরণ স্নিপেটটি একটি ম্যানিফেস্টের অংশটি দেখায় যা Google Sheets ম্যাক্রোগুলিকে সংজ্ঞায়িত করে। ম্যানিফেস্টের sheets বিভাগটি ম্যাক্রোর জন্য নির্ধারিত নাম এবং কীবোর্ড শর্টকাট এবং ম্যাক্রো ফাংশনের নাম সংজ্ঞায়িত করে।

  {
    ...
    "sheets": {
      "macros": [{
        "menuName": "QuickRowSum",
        "functionName": "calculateRowSum",
        "defaultShortcut": "Ctrl+Alt+Shift+1"
      }, {
        "menuName": "Headerfy",
        "functionName": "updateToHeaderStyle",
        "defaultShortcut": "Ctrl+Alt+Shift+2"
      }]
    }
  }

শীট ম্যাক্রো ম্যানিফেস্ট কীভাবে তৈরি করা হয় সে সম্পর্কে আরও বিস্তারিত জানার জন্য শীট ম্যাক্রো ম্যানিফেস্ট রিসোর্স দেখুন।

সেরা অনুশীলন

অ্যাপস স্ক্রিপ্টে ম্যাক্রো তৈরি বা পরিচালনা করার সময়, নিম্নলিখিত নির্দেশিকাগুলি মেনে চলার পরামর্শ দেওয়া হচ্ছে।

  1. ম্যাক্রোগুলি হালকা হলে বেশি কার্যকর হয়। যেখানে সম্ভব, ম্যাক্রো কতগুলি পদক্ষেপ নেয় তা সীমিত করুন।
  2. ম্যাক্রোগুলি এমন রোট অপারেশনের জন্য সবচেয়ে উপযুক্ত যা খুব কম বা কোনও কনফিগারেশন ছাড়াই ঘন ঘন পুনরাবৃত্তি করতে হয়। অন্যান্য অপারেশনের জন্য, পরিবর্তে একটি কাস্টম মেনু আইটেম ব্যবহার করার কথা বিবেচনা করুন।
  3. সর্বদা মনে রাখবেন যে ম্যাক্রো কীবোর্ড শর্টকাটগুলি অবশ্যই অনন্য হতে হবে এবং একটি নির্দিষ্ট শিটে একবারে শর্টকাট সহ কেবল দশটি ম্যাক্রো থাকতে পারে। যেকোনো অতিরিক্ত ম্যাক্রো শুধুমাত্র এক্সটেনশন > ম্যাক্রো মেনু থেকে কার্যকর করা যেতে পারে।
  4. একটি একক কোষে পরিবর্তনকারী ম্যাক্রোগুলিকে প্রথমে পূর্ণ পরিসর নির্বাচন করে এবং তারপর ম্যাক্রো সক্রিয় করে বিভিন্ন কোষে প্রয়োগ করা যেতে পারে। এর অর্থ হল এমন ম্যাক্রো তৈরি করা প্রায়শই অপ্রয়োজনীয় যা পূর্বনির্ধারিত কোষের পরিসরে একই ক্রিয়াকলাপের নকল করে।

যে কাজগুলো তুমি করতে পারবে না

ম্যাক্রো দিয়ে আপনি কী করতে পারেন তার উপর কিছু বিধিনিষেধ রয়েছে:

ম্যাক্রোর বাইরের বাউন্ড স্ক্রিপ্ট ব্যবহার করুন

ম্যাক্রোগুলি নির্দিষ্ট Google পত্রকের সাথে আবদ্ধ স্ক্রিপ্টগুলিতে সংজ্ঞায়িত করা হয়। একটি স্বতন্ত্র স্ক্রিপ্ট বা ওয়েব অ্যাপে সংজ্ঞায়িত করা হলে ম্যাক্রো সংজ্ঞাগুলি উপেক্ষা করা হয়।

শীট অ্যাড-অনগুলিতে ম্যাক্রো সংজ্ঞায়িত করুন

আপনি Sheets অ্যাড-অন ব্যবহার করে ম্যাক্রো সংজ্ঞা বিতরণ করতে পারবেন না। Sheets অ্যাড-অন প্রকল্পের যেকোনো ম্যাক্রো সংজ্ঞা সেই অ্যাড-অনের ব্যবহারকারীরা উপেক্ষা করে।

স্ক্রিপ্ট লাইব্রেরিতে ম্যাক্রো বিতরণ করুন

আপনি অ্যাপস স্ক্রিপ্ট লাইব্রেরি ব্যবহার করে ম্যাক্রো সংজ্ঞা বিতরণ করতে পারবেন না।

গুগল শিটের বাইরে ম্যাক্রো ব্যবহার করুন

ম্যাক্রোগুলি কেবল গুগল শিটের একটি বৈশিষ্ট্য, এবং গুগল ডক্স, ফর্ম বা স্লাইডের জন্য বিদ্যমান নয়।