یک اسکریپت در صورتی به یک فایل Google Sheets، Docs، Slides یا Forms متصل میشود که از آن سند ایجاد شده باشد، نه به عنوان یک اسکریپت مستقل . فایلی که یک اسکریپت متصل به آن متصل میشود، "کانتینر" نامیده میشود. اسکریپتهای متصل معمولاً مانند اسکریپتهای مستقل رفتار میکنند، با این تفاوت که در Google Drive نمایش داده نمیشوند، نمیتوان آنها را از فایلی که به آن متصل شدهاند جدا کرد و چند امتیاز ویژه نسبت به فایل والد به دست میآورند.
توجه داشته باشید که اسکریپتها میتوانند به سایتهای گوگل نیز متصل شوند، اما این اسکریپتها تقریباً همیشه به عنوان برنامههای وب مستقر میشوند. اسکریپتهایی که به صفحات گسترده، اسناد، اسلایدها یا فرمهای گوگل متصل میشوند نیز میتوانند به برنامههای وب تبدیل شوند، اگرچه این مورد غیرمعمول است.
یک اسکریپت محدود ایجاد کنید
سندنگار، برگهنگار یا اسلایدنگار گوگل
برای ایجاد یک اسکریپت محدود در Google Docs، Sheets یا Slides، یک سند را در Docs، یک صفحه گسترده را در Sheets یا یک ارائه را در Slides باز کنید و روی Extensions > Apps Script کلیک کنید. برای باز کردن مجدد اسکریپت در آینده، همین کار را انجام دهید یا اسکریپت را از داشبورد Apps Script باز کنید.
فرمهای گوگل
برای ایجاد یک اسکریپت محدود شده در Google Forms، یک فرم را باز کنید و روی More > Script editor کلیک کنید. برای باز کردن مجدد اسکریپت در آینده، همین کار را انجام دهید یا اسکریپت را از داشبورد Apps Script باز کنید.
روشهای ویژه
اسکریپتهای محدود میتوانند چند متد را فراخوانی کنند که اسکریپتهای مستقل نمیتوانند:
-
getActiveSpreadsheet()،getActiveDocument()،getActivePresentation()وgetActiveForm()به اسکریپتهای مقید اجازه میدهند بدون مراجعه به شناسه فایل، به فایل والد خود ارجاع دهند. -
getUiبه اسکریپتهای مقید اجازه میدهد تا به رابط کاربری فایل والد خود دسترسی داشته باشند تا بتوانند منوها، دیالوگها و نوارهای کناری سفارشی را اضافه کنند. - در گوگل شیت، توابع
getActiveSheet()،getActiveRange()وgetActiveCell()به اسکریپت اجازه میدهند تا صفحه فعلی کاربر، محدوده انتخاب شده از سلولها یا سلول منفرد انتخاب شده را تعیین کند.setActiveSheet(sheet)وsetActiveRange(range)به اسکریپت اجازه میدهند تا این انتخابها را تغییر دهد. - در Google Docs،
getActiveTab()،getCursor()وgetSelection()به اسکریپت اجازه میدهند تب فعلی کاربر، موقعیت مکاننمای کاربر یا متن انتخابشده را تعیین کند.setActiveTab(tabId)،setCursor(position)وsetSelection(range)به اسکریپت اجازه میدهند این انتخابها را تغییر دهد.
برای اطلاعات بیشتر، به راهنمای گسترش Google Sheets یا راهنمای گسترش Google Docs مراجعه کنید.
منوها، دیالوگها و سایدبارهای سفارشی
اسکریپتهای محدود شده میتوانند با اضافه کردن منوها و کادرهای محاورهای یا نوارهای کناری سفارشی ، صفحات گوگل، اسناد و فرمها را سفارشی کنند. با این حال، به خاطر داشته باشید که یک اسکریپت فقط میتواند با رابط کاربری نمونه فعلی یک فایل باز تعامل داشته باشد. یعنی، اسکریپتی که به یک سند محدود شده است، نمیتواند بر رابط کاربری سند دیگر تأثیر بگذارد.
محرکها
اسکریپتهای محدود میتوانند از تریگرهای سادهای مانند تابع ویژه onOpen() استفاده کنند که هر زمان که فایلی توسط کاربری که دسترسی ویرایش دارد باز شود، به طور خودکار اجرا میشود. مانند همه انواع اسکریپتها، آنها همچنین میتوانند از تریگرهای قابل نصب استفاده کنند.
توابع سفارشی
یک تابع سفارشی ، تابعی در اسکریپتی است که به Google Sheets متصل شده و شما میتوانید آن را مستقیماً از یک سلول با استفاده از سینتکس =myFunctionName() فراخوانی کنید. بنابراین، توابع سفارشی مشابه صدها تابع داخلی در Sheets مانند AVERAGE یا SUM هستند، با این تفاوت که شما رفتار تابع سفارشی را تعریف میکنید.
دسترسی به اسکریپتهای محدود شده
فقط کاربرانی که مجوز ویرایش یک کانتینر را دارند میتوانند اسکریپت مقید شده آن را اجرا کنند. همکارانی که فقط دسترسی مشاهده دارند نمیتوانند ویرایشگر اسکریپت را باز کنند، اگرچه اگر یک کپی از فایل کانتینر تهیه کنند، مالک آن کپی میشوند و میتوانند یک کپی از اسکریپت را ببینند و اجرا کنند.
برای آشنایی با نحوه اشتراکگذاری فایل کانتینر یک اسکریپت، به «اشتراکگذاری فایلها از گوگل درایو» مراجعه کنید.