گوگل شیت (Google Sheets) یک راهکار صفحه گسترده مبتنی بر ابر با امکان همکاری بلادرنگ و ابزارهای قدرتمند برای تجسم، پردازش و انتقال دادهها است.
شما میتوانید Sheets را با افزونههایی که باعث بهبود گردش کار سفارشی میشوند، اتصال به سیستمهای شخص ثالث را برقرار میکنند و دادههای Sheets خود را با سایر برنامههای Google Workspace (مانند Google Slides) ادغام میکنند، گسترش دهید.
میتوانید افزونههای Sheets که دیگران ساختهاند را در Google Workspace Marketplace مشاهده کنید.
کاری که میتوانید انجام دهید
در اینجا چند کاری که میتوانید با افزونههایی که Sheets را گسترش میدهند انجام دهید، آورده شده است:
- با استفاده از سرویس Apps Script Spreadsheet که در داخل برنامه تعبیه شده است، میتوانید دادهها را در صفحات گسترده Sheets بخوانید، ویرایش کنید، تجسم کنید و قالببندی کنید. این سرویس همچنین به شما امکان میدهد قالببندی شرطی و قوانین اعتبارسنجی دادهها را ایجاد و اصلاح کنید.
- برای دسترسی مستقیم به API گوگل شیت، از سرویس پیشرفتهی Apps Script Sheets استفاده کنید.
- با استفاده از HTML و CSS استاندارد، منوهای سفارشی ایجاد کنید و چندین رابط کاربری دیالوگ و سایدبار سفارشی تعریف کنید.
- تعاریف توابع سفارشی را در افزونه خود بگنجانید.
- از محرکهای افزونهای استفاده کنید که هنگام وقوع رویدادهای محرک خاص، توابع مشخصی را اجرا میکنند.
افزونههای Sheets با استفاده از Apps Script ساخته شدهاند. برای کسب اطلاعات بیشتر در مورد نحوه دسترسی و مدیریت Sheets با Apps Script، به Extend Sheets مراجعه کنید.
ساختار ورق
یک صفحه گسترده Sheets از یک یا چند صفحه تشکیل شده است. هر صفحه اساساً یک شبکه دو بعدی از سلولها است که متن، اعداد، پیوندها یا مقادیر دیگر میتوانند در آن ذخیره شوند. گروهی از یک یا چند سلول مجاور، محدوده نامیده میشود.
سرویس Apps Script Spreadsheet چندین کلاس برای نمایش ساختارهای سازمانی در Sheets (مانند Sheet و Range ) ارائه میدهد. میتوانید از این کلاسها برای خواندن و تغییر دادهها و رفتار Sheets استفاده کنید.
محرکها
تریگرهای اسکریپت برنامهها به یک پروژه اسکریپت اجازه میدهند تا در صورت برآورده شدن شرایط خاص، مانند باز شدن یک صفحه گسترده یا نصب یک افزونه، یک تابع مشخص را اجرا کند.
برای اطلاعات بیشتر در مورد اینکه چه محرکهایی میتوانند با افزونههای Sheets استفاده شوند و چه محدودیتهایی در استفاده از آنها اعمال میشود ، به محرکهای افزونه مراجعه کنید.
توابع سفارشی
Sheets تعدادی تابع داخلی مانند SUM و AVERAGE دارد که میتوانند از درون یک سلول Sheets فراخوانی شوند. افزونههای Sheets میتوانند توابع سفارشی اضافی را برای تکمیل این توابع داخلی تعریف کنند. هنگامی که کاربر افزونه را نصب میکند، هر تابع سفارشی تعریف شدهای که همراه افزونه باشد، بلافاصله در دسترس قرار میگیرد. این امکان وجود دارد که یک افزونه فقط شامل تعاریف توابع سفارشی باشد. تعاریف توابع سفارشی در درجه اول با انتشار افزونهای حاوی تعاریف، با دیگران به اشتراک گذاشته میشوند.
ایجاد توابع سفارشی افزونه
هر تابعی که در یک پروژه اسکریپت افزونه تعریف شود، میتواند به عنوان یک تابع سفارشی استفاده شود. پس از پیادهسازی تابع و نصب افزونه، میتوانید تابع سفارشی را مانند هر تابع داخلی دیگر Sheets فراخوانی کنید: در یک سلول Sheet، علامت = و به دنبال آن نام تابع و پارامترهای مورد نیاز را وارد کنید. اگر خطایی وجود نداشته باشد، نتیجه برگردانده شده توسط تابع در سلول Sheets قرار میگیرد و در صورت لزوم به سلولهای همسایه سرریز میشود.
هنگام ایجاد توابع سفارشی در یک افزونه، باید دستورالعملهای کلی تابع سفارشی را دنبال کنید:
- دستورالعملهای نامگذاری توابع
- تعریف آرگومانهای تابع
- تعریف مقدار بازگشتی تابع
- انواع دادههای تابع سفارشی
- فعال کردن تکمیل خودکار با استفاده از JSDoc
- سرویسهایی که توابع سفارشی میتوانند استفاده کنند
- بهینهسازی توابع سفارشی
علاوه بر این، توابع سفارشی تعریف شده در افزونهها ملاحظات خاصی دارند:
- هنگام نامگذاری تابع خود، سعی کنید یک نام منحصر به فرد ایجاد کنید، شاید مرتبط با نام افزونه شما. اگر دو یا چند افزونه نصب شده، توابع سفارشی با نام یکسان تعریف کنند، کاربران فقط میتوانند از یکی از آنها استفاده کنند.
- افزونه شما باید به وضوح بیان کند که چه توابع سفارشی را ارائه میدهد. حتماً برای توابع سفارشی خود، نظرات JSDoc دقیقی ارائه دهید تا Apps Script بتواند اطلاعات تکمیل خودکار را به کاربر ارائه دهد. علاوه بر این، ارائه مستندات اضافی در مورد توابع سفارشی را یا در خود افزونه یا در صفحه وب پشتیبانی افزونه در نظر بگیرید.
- توابع سفارشی که در کمتر از 30 ثانیه تکمیل نمیشوند، با خطای
Internal error executing the custom functionمواجه میشوند. با محدود کردن میزان پردازشی که در یک تابع سفارشی انجام میدهید، یک تجربه کاربری خوب ایجاد کنید. تا جایی که میتوانید، تابع را بهینه کنید . - توابع سفارشی نمیتوانند از سرویسهای Apps Script که نیاز به مجوز دارند استفاده کنند و در صورت تلاش برای این کار با خطای
You do not have permission to call X serviceمواجه میشوند. فقط از سرویسهای مجاز در تابع سفارشی خود استفاده کنید. - هر تابع سفارشی در یک Sheets منجر به فراخوانی جداگانه سرورهای Apps Script میشود. اگر کاربری سعی کند از توابع سفارشی در سلولهای زیادی استفاده کند، توابع میتوانند به کندی اجرا شوند. برای کاهش این مشکل، توابع سفارشی خود را تا حد امکان ساده نگه دارید. اگر به تابعی برای انجام پردازشهای پیچیده یا طولانی نیاز دارید، از یک تابع سفارشی استفاده نکنید - در عوض، این قابلیت را با استفاده از یک آیتم منو، کادر محاورهای یا تعامل نوار کناری فراهم کنید.
ماکروهای شیت
ماکروها به شما امکان میدهند اقدامات انجام شده در Sheets را ضبط کرده و بعداً آنها را با یک میانبر صفحه کلید تکرار کنید. وقتی یک ماکرو در Sheets ایجاد میشود، به عنوان یک تابع ماکرو در یک پروژه Apps Script متصل به آن Sheets اضافه میشود. برای اطلاعات بیشتر در مورد ماکروها، به بخش ماکروهای Sheets مراجعه کنید.
متأسفانه، ماکروهای Sheets را نمیتوان با افزونهها توزیع کرد. اگر تعریف ماکرو را در مانیفست یک افزونه قرار دهید، برای کاربران آن افزونه در دسترس نخواهد بود.