فهرست مطالب:
- مرحله 1: توابع چیست؟
- مرحله 2: چگونه یک تابع سفارشی بنویسیم؟
- مرحله 3: محدودیت های عملکرد و تکمیل خودکار
- مرحله 4: تماس با خدمات خارجی
- مرحله 5: مراحل بعدی
تصویری: اضافه کردن عملکرد سفارشی در کاربرگ Google: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
مطمئن هستم که در برهه ای از زندگی خود مجبور به استفاده از نرم افزارهای صفحه گسترده مانند Microsoft Excel یا Google Sheets شده اید.
استفاده از آنها نسبتاً ساده و مستقیم است اما بسیار قدرتمند و به راحتی قابل گسترش هستند.
امروز ، به برگه های Google و قابلیت آن برای افزودن کد و توابع سفارشی نگاه می کنیم تا بتوانیم آن را گسترش دهیم.
مرحله 1: توابع چیست؟
یک تابع یک قطعه کد است که داده های صفحه گسترده را دستکاری می کند تا مقدار جدیدی را به طور خودکار برای ما محاسبه کند. مثال بسیار متداول چنین عملکردی SUM است که مجموع ستون یا گروه سلول ها را محاسبه می کند.
همه نرم افزارهای صفحه گسترده از بسیاری از عملکردهایی که قبلاً در آنها ساخته شده است پشتیبانی می کند ، اما از قابلیت گسترش آنها و نوشتن کارکردهای خود نیز پشتیبانی می کند.
مرحله 2: چگونه یک تابع سفارشی بنویسیم؟
برای نوشتن یک تابع سفارشی در Google Sheets ، ما از ویژگی آن به نام Apps Script استفاده می کنیم که یک پلت فرم توسعه سریع برنامه است که می توانیم مستقیماً در مرورگر کد را در جاوا اسکریپت بنویسیم و سپس در صفحه گسترده ما اجرا شود.
برای شروع نوشتن می توانیم به منوی Tools> Script editor در منوی بالا برویم و ویرایشگر کد آنلاین ظاهر می شود.
در آن ، ابتدا باز می شود ، ما یک فایل به نام Code.gs همراه با یک تابع شروع خالی به نام myFunction خواهیم داشت.
به عنوان مثال اولیه ، این تابع را به DOUBLE تغییر نام می دهیم و یک پارامتر ورودی در اعلان آن اضافه می کنیم. در داخل تابع ، ما باید یک مقدار را برگردانیم و برای این مثال ، ما فقط مقدار ورودی را با 2 ضرب می کنیم.
اکنون می توانیم اسکریپت را ذخیره کنیم و اگر به صفحه گسترده برگردیم و مقداری داده به آن اضافه کنیم ، اکنون می توانیم این تابع را در هر سلول ارجاع دهیم و مرجع سلول داده را به عنوان ورودی مقدار ارسال کنیم.
هنگام اجرای این عملکرد ، Google Sheets به زودی یک پیام Loading را در سلول نشان می دهد ، اما سپس مقدار برگشتی از عملکرد را نمایش می دهد.
مرحله 3: محدودیت های عملکرد و تکمیل خودکار
این توابع می توانند هر کاری را که ما می خواهیم انجام دهند ، اما برخی محدودیت ها وجود دارد که ما باید آنها را دنبال کنیم مانند:
نامها باید منحصر به فرد و متفاوت از نامهای مورد استفاده در توابع داخلی باشد نام نباید با یک _ خاتمه یابد ، و نام توابع معمولاً با حروف بزرگ نوشته می شود ، اگرچه این مورد ضروری نیست.
هر تابع می تواند یک مقدار واحد را مانند مثال ما برگرداند ، اما می تواند آرایه ای از مقادیر را نیز برگرداند. این آرایه تا زمانی که خالی باشد به سلولهای مجاور گسترش می یابد. اگر آنها خطا نشان داده نمی شود.
عملکردی که ما نوشتیم قابل استفاده است اما برای هر کس دیگری که ممکن است سند را ویرایش کند ناشناخته خواهد بود و کاربر برای استفاده از آن باید بداند که وجود دارد. ما می توانیم این مشکل را با افزودن عملکرد به لیست تکمیل خودکار ، درست مانند تمام توابع داخلی ، برطرف کنیم.
برای انجام این کار ، ما باید یک تگ JsDoccustomfunction در مقابل تابع به عنوان یک نظر اضافه کنیم که در این نظر می توانیم توضیحی کوتاه درباره عملکرد تابع خود بنویسیم.
در حال حاضر با اضافه شدن نظر ، هنگامی که شروع به نوشتن نام تابع می کنیم ، تابع توسط تکمیل خودکار همراه با توضیحات عملکرد ارائه می شود.
مرحله 4: تماس با خدمات خارجی
قدرت فوق العاده ای که این توابع دارند ، از قابلیت تماس و تعامل با سایر ابزارها و سرویس های Google مانند Translate ، Maps ، اتصال به یک پایگاه داده خارجی ، کار با XML و دیگران ناشی می شود. تا کنون ، قوی ترین ویژگی برای من توانایی ایجاد درخواست HTTP خارجی به هر API یا صفحه وب و دریافت داده از آن با استفاده از سرویس UrlFetch است.
برای اثبات این امر ، من یک تابع را که دلار آمریکا را به فرانک سوئیس تبدیل می کند ، وارد می کنم ، اما نرخ ارز را در نظر نمی گیرد ، بلکه آن را از یک API خارجی بازیابی می کند.
این تابع همچنین از سرویس حافظه پنهان داخلی استفاده می کند که در آن برای تمام محاسبات API را فرا نمی گیرد ، اما برای محاسبه اول یک بار آن را فراخوانی می کند و سپس این مقدار را در حافظه پنهان ذخیره می کند.
سپس هر محاسبه دیگری با مقدار ذخیره شده انجام می شود ، بنابراین عملکرد آنها بسیار بهبود می یابد و ما به سرور ضربه نمی زنیم ، زیرا اغلب نرخ ها به سرعت تغییر نمی کنند.
از آنجا که API JSON را برمی گرداند ، پس از دریافت پاسخ از سرور ، باید JSON را در یک شی تجزیه کنیم و سپس می توانیم نرخ را بدست آوریم ، آن را با مقدار ورودی ضرب کرده و مقدار محاسبه شده جدید را به سلول برگردانیم.
مرحله 5: مراحل بعدی
اگر به نظر شما جالب است و می خواهید بیشتر بیاموزید ، من پیوندهای زیر را به منابع اضافی می گذارم.
developers.google.com/apps-script/guides/s…
developers.google.com/apps-script
اگر از Instructable خوشتان آمد ، حتماً در کانال YouTube من مشترک شوید ، اگر قبلاً این کار را نکرده اید و برخی از دستورالعمل های دیگر من را بررسی کنید.
به سلامتی و تشکر از اینکه خواندید
توصیه شده:
نحوه اضافه کردن یک ربات تعاملی در اختلاف: 6 مرحله
نحوه اضافه کردن یک ربات تعاملی در Discord: در این آموزش من قصد دارم نحوه ساخت یک ربات تعاملی خود را که با چند فرمان ساده کار می کند ، نشان دهم. Discord یک برنامه رسانه های اجتماعی Skype/Whats-app است که گیمرها را دور هم جمع می کند. آنها می توانند یک کانال اختصاصی داشته باشند ، بررسی کنید که هر عضو در کدام بازی قرار می گیرد
اضافه کردن یک مانیتور استفاده به ترموستات خانگی: 4 مرحله
افزودن یک مانیتور استفاده به ترموستات خانگی: مدتها پیش ، خیلی قبل ، چیزی پیش از این به عنوان & quot؛ هوشمند & quot؛ ترموستات ، من یک ترموستات خانگی داشتم که روزانه (فکر می کنم - شاید هفتگی) مجموع & quot؛ به موقع & quot؛ برای سیستم گرمایش و تهویه مطبوع من. چیزها تغییر کرده اند … آزمایش
اضافه کردن همکار در دستورالعمل ها: 6 مرحله
افزودن همکار در دستورالعمل ها: هنگامی که راه خود را در دستورالعمل ها می شناسید ، افزودن یک همکار آسان است
ربات خودمختار والاس - قسمت 4 - اضافه کردن فاصله IR و سنسورهای "آمپر": 6 مرحله
ربات خودمختار والاس - قسمت 4 - اضافه کردن فاصله IR و سنسورهای "آمپر": سلام ، امروز مرحله بعدی بهبود قابلیت های والاس را شروع می کنیم. به طور خاص ، ما در تلاش هستیم تا توانایی آن را در تشخیص و اجتناب از موانع با استفاده از سنسورهای فاصله مادون قرمز ارتقا دهیم و همچنین از مزایای کنترل موتور Roboclaw استفاده کنیم
ساعت دیجیتال آردوینو با عملکرد زنگ هشدار (PCB سفارشی): 6 مرحله (همراه با تصاویر)
ساعت دیجیتال آردوینو با عملکرد زنگ هشدار (PCB سفارشی): در این راهنمای DIY به شما نشان خواهم داد که چگونه می توانید ساعت دیجیتالی خود را با این عملکرد زنگ دار بسازید. در این پروژه تصمیم گرفتم PCB خودم را که بر پایه میکروکنترلر Arduino UNO - Atmega328p است ، بسازم. در زیر شماتیک الکترونیکی با PCB l را خواهید دید