একটি স্ক্রিপ্টকে কোনো Google Sheets, Google Docs, Google Slides, বা Google Forms ফাইলের সাথে আবদ্ধ (bound) বলা হয়, যদি সেটিকে একটি স্বতন্ত্র স্ক্রিপ্ট (standalone script) হিসেবে তৈরি না করে সেই ডকুমেন্ট থেকে তৈরি করা হয়। যে ফাইলের সাথে একটি আবদ্ধ স্ক্রিপ্ট সংযুক্ত থাকে, তাকে 'কন্টেইনার' (container) বলা হয়। আবদ্ধ স্ক্রিপ্টগুলো সাধারণত স্বতন্ত্র স্ক্রিপ্টের মতোই আচরণ করে, তবে পার্থক্য হলো এগুলো Google Drive-এ দেখা যায় না, যে ফাইলের সাথে এগুলো আবদ্ধ থাকে তা থেকে এগুলোকে বিচ্ছিন্ন করা যায় না, এবং এগুলো মূল ফাইলের (parent file) উপর কিছু বিশেষ সুবিধা লাভ করে।
স্ক্রিপ্টগুলোকে গুগল সাইটসের সাথেও যুক্ত করা যায়, কিন্তু এই স্ক্রিপ্টগুলো প্রায় সবসময়ই ওয়েব অ্যাপ হিসেবে ডেপ্লয় করা হয়। শীটস, ডকস, স্লাইডস বা ফর্মসের সাথে যুক্ত স্ক্রিপ্টগুলোও ওয়েব অ্যাপে পরিণত হতে পারে, যদিও এটি সচরাচর দেখা যায় না।
বাউন্ড স্ক্রিপ্টগুলো হলো মূলত অপ্রকাশিত গুগল ওয়ার্কস্পেস অ্যাড-অন, যেগুলো শুধুমাত্র সেই ফাইলের জন্যই কাজ করে যার সাথে সেগুলোকে যুক্ত করা থাকে।
একটি আবদ্ধ স্ক্রিপ্ট তৈরি করুন
আপনি Docs, Sheets, Slides এবং Forms-এ বাউন্ড স্ক্রিপ্ট তৈরি করতে পারেন।
ডক্স, শীট বা স্লাইড
Docs, Sheets বা Slides-এ একটি বাউন্ড স্ক্রিপ্ট তৈরি করতে, Docs-এ একটি ডকুমেন্ট, Sheets-এ একটি স্প্রেডশীট বা Slides-এ একটি প্রেজেন্টেশন খুলুন এবং Extensions > Apps Script-এ ক্লিক করুন। ভবিষ্যতে স্ক্রিপ্টটি পুনরায় খুলতে, একই কাজ করুন অথবা Apps Script ড্যাশবোর্ড থেকে স্ক্রিপ্টটি খুলুন।
ফর্ম
ফর্ম-এ একটি বাউন্ড স্ক্রিপ্ট তৈরি করতে, একটি ফর্ম খুলুন এবং More > editor-এ ক্লিক করুন। ভবিষ্যতে স্ক্রিপ্টটি পুনরায় খুলতে, একই কাজ করুন অথবা অ্যাপস স্ক্রিপ্ট ড্যাশবোর্ড থেকে স্ক্রিপ্টটি খুলুন।
clasp টুল দিয়ে বাউন্ড স্ক্রিপ্ট তৈরি করা যায় না, কিন্তু এটি দিয়ে স্ক্রিপ্ট ক্লোন ও সম্পাদনা করা যায়।
বিশেষ পদ্ধতি
বাউন্ড স্ক্রিপ্ট এমন কিছু মেথড কল করতে পারে যা স্বতন্ত্র স্ক্রিপ্ট পারে না:
-
getActiveSpreadsheet,getActiveDocument,getActivePresentationএবংgetActiveFormসংযুক্ত স্ক্রিপ্টগুলোকে ফাইলের আইডি উল্লেখ না করেই তাদের প্যারেন্ট ফাইলকে নির্দেশ করার সুযোগ দেয়। -
getUiসংযুক্ত স্ক্রিপ্টগুলোকে তাদের প্যারেন্ট ফাইলের ইউজার ইন্টারফেস অ্যাক্সেস করার সুযোগ দেয়, যার মাধ্যমে তারা কাস্টম মেনু, ডায়ালগ এবং সাইডবার যোগ করতে পারে। - শীটসে,
getActiveSheet,getActiveRangeএবংgetActiveCellকমান্ডগুলো স্ক্রিপ্টকে ব্যবহারকারীর বর্তমান শীট, নির্বাচিত সেলের রেঞ্জ বা নির্বাচিত কোনো একক সেল নির্ধারণ করতে দেয়।setActiveSheetএবংsetActiveRangeকমান্ডগুলো স্ক্রিপ্টকে সেই নির্বাচনগুলো পরিবর্তন করার সুযোগ দেয়। - ডকস-এ,
getActiveTab,getCursorএবংgetSelectionকমান্ডগুলো স্ক্রিপ্টকে ব্যবহারকারীর বর্তমান ট্যাব, কার্সরের অবস্থান বা নির্বাচিত টেক্সট নির্ধারণ করতে দেয়।setActiveTab,setCursorএবংsetSelectionকমান্ডগুলো স্ক্রিপ্টকে সেই নির্বাচনগুলো পরিবর্তন করতে দেয়।
আরও তথ্যের জন্য, শীটস সম্প্রসারণের নির্দেশিকা অথবা ডকস সম্প্রসারণের নির্দেশিকা দেখুন।
এই মেথডগুলো শুধুমাত্র স্ক্রিপ্ট এডিটর, মেনু আইটেম, ডায়ালগ, সাইডবার বা ট্রিগার থেকে চালানো বাউন্ড স্ক্রিপ্টগুলোর জন্য উপলব্ধ। যখন কোনো বাউন্ড স্ক্রিপ্ট ওয়েব অ্যাপ হিসেবে বা গুগল অ্যাপস স্ক্রিপ্ট এপিআই (Google Apps Script API) ব্যবহার করে চালানো হয়, তখন এই মেথডগুলো উপলব্ধ থাকে না।
কাস্টম মেনু, ডায়ালগ এবং সাইডবার
বাউন্ড স্ক্রিপ্ট কাস্টম মেনু ও ডায়ালগ বক্স বা সাইডবার যোগ করে শীট, ডক এবং ফর্ম কাস্টমাইজ করতে পারে। একটি স্ক্রিপ্ট শুধুমাত্র খোলা ফাইলের বর্তমান ইনস্ট্যান্সের ইউজার ইন্টারফেসের সাথেই ইন্টারঅ্যাক্ট করতে পারে। একটি ডকুমেন্টের সাথে বাউন্ড স্ক্রিপ্ট অন্য কোনো ডকুমেন্টের ইউজার ইন্টারফেসকে প্রভাবিত করতে পারে না।
ট্রিগার
বাউন্ড স্ক্রিপ্টগুলো বিশেষ onOpen ফাংশনের মতো সাধারণ ট্রিগার ব্যবহার করতে পারে, যা সম্পাদনার অনুমতি আছে এমন কোনো ব্যবহারকারী ফাইলটি খুললেই স্বয়ংক্রিয়ভাবে চলে। সব ধরনের স্ক্রিপ্টের মতোই, এগুলোও ইনস্টলযোগ্য ট্রিগার ব্যবহার করতে পারে।
কাস্টম ফাংশন
কাস্টম ফাংশন হলো শীটসের সাথে সংযুক্ত কোনো স্ক্রিপ্টের একটি ফাংশন, যাকে আপনি =myFunctionName() সিনট্যাক্স ব্যবহার করে সরাসরি একটি সেল থেকে কল করেন। কাস্টম ফাংশনগুলো শীটসের AVERAGE বা SUM মতো শত শত বিল্ট-ইন ফাংশনের অনুরূপ, তবে পার্থক্য হলো এর আচরণ আপনিই নির্ধারণ করেন।
আবদ্ধ স্ক্রিপ্টগুলিতে অ্যাক্সেস
শুধুমাত্র সেইসব ব্যবহারকারীই কন্টেইনার সম্পাদনা করার অনুমতি রাখেন, যারা এর সাথে সংযুক্ত স্ক্রিপ্টটি চালাতে পারেন। যেসব সহযোগীর শুধুমাত্র দেখার অনুমতি (view access) আছে, তারা স্ক্রিপ্ট এডিটর খুলতে পারেন না। যদি তারা কন্টেইনার ফাইলটির একটি অনুলিপি তৈরি করেন, তবে তারা সেই অনুলিপির মালিক হয়ে যান এবং স্ক্রিপ্টটির একটি অনুলিপি দেখতে ও চালাতে পারেন।
কোনো স্ক্রিপ্টের কন্টেইনার ফাইল কীভাবে শেয়ার করতে হয় তা জানতে, “ড্রাইভ থেকে ফাইল শেয়ার করুন” অংশটি দেখুন।
কন্টেইনারের অভ্যন্তরে থাকা সমস্ত স্ক্রিপ্ট কন্টেইনার ফাইলের জন্য নির্ধারিত একই মালিক, দর্শক এবং সম্পাদক অ্যাক্সেস তালিকা ব্যবহার করে। কে একটি নতুন স্ক্রিপ্ট প্রজেক্ট তৈরি করেছে তা নির্বিশেষে, কন্টেইনারের মালিকই সেটির মালিকানা লাভ করেন।