Google Sheets یک ابزار گسترده صفحه گسترده مبتنی بر ابر است که به شما امکان می دهد تقریباً همه کارهایی را که می توانید در Microsoft Excel انجام دهید انجام دهید. اما قدرت واقعی Google Sheets ویژگی Google Scriptting است که با آن همراه است.
برنامه نویسی Google Apps ابزاری برای برنامه نویسی پس زمینه است که نه تنها در صفحات Google بلکه همچنین Google Docs ، Gmail کار می کند. ، تجزیه و تحلیل ترافیک گوگل ، و تقریباً هر سرویس cloud Google دیگر. این امکان را به شما می دهد تا آن برنامه های فردی را خودکار کنید و هر یک از آن برنامه ها را با یکدیگر ادغام کنید.
در این مقاله یاد می گیرید که چگونه با اسکریپت نویسی Google Apps شروع کنید ، یک اسکریپت اساسی در صفحات Google برای خواندن و نوشتن داده های سلولی و موثرترین صفحات Google ایجاد کنید. عملکردهای اسکریپت.
نحوه ایجاد یک اسکریپت Google Apps
اکنون می توانید شروع به کار کنید تا اولین اسکریپت Google Apps خود را از درون صفحات Google ایجاد کنید.
برای انجام این کار ، ابزارهارا از منو ، سپس ویرایشگر اسکریپتانتخاب کنید.
این پنجره ویرایشگر اسکریپت را باز می کند و به صورت پیش فرض عملکردی به نام myfunction ()قوی>اینجاست که می توانید Google Script خود را ایجاد و آزمایش کنید.
In_content_1 همه: [300x250] / dfp: [640x360]->برای عکسبرداری ، یک تابع اسکریپت Google Sheets ایجاد کنید که داده ها را از یک سلول بخواند ، محاسبه ای را روی آن انجام داده و مقدار داده را به سلول دیگری منتقل کنید.
عملکرد دریافت داده از یک سلول عملکردهای getRange ()و getValue ()است. می توانید سلول را با ردیف و ستون شناسایی کنید. بنابراین اگر یک مقدار در ردیف 2 و ستون 1 (ستون A) داشته باشید ، قسمت اول فیلمنامه شما به این صورت خواهد بود:
function myFunction() {var sheet = SpreadsheetApp.getActiveSheet(); var row = 2; var col = 1; var data = sheet.getRange(row, col).getValue(); }
این مقدار را از آن ذخیره می کند سلول در متغیر داده. می توانید یک محاسبه بر روی داده ها انجام دهید و سپس آن داده ها را به سلول دیگری بنویسید. بنابراین قسمت آخر این عملکرد:
var results = data * 100;sheet.getRange(row, col+1).setValue(results); }
وقتی کار خود را نوشتید ، نماد دیسک را برای ذخیره انتخاب کنید.
اولین باری که اجرا می کنید عملکرد جدید اسکریپت Google Sheets مانند این (با انتخاب نماد اجرا) ، باید مجوز را برای اجرای این اسکریپت در حساب Google خود ارائه دهید.
اجازه ادامه مجوزها را می دهد. پس از اجرای اسکریپت ، خواهید دید که این اسکریپت نتایج محاسبه را به سلول مورد نظر نوشت.
اکنون که می دانید چگونه یک عملکرد اساسی اسکریپت Google Apps را بنویسید ، اجازه دهید نگاهی به برخی عملکردهای پیشرفته تر بیندازیم.
استفاده از getValues برای بارگذاری آرایه ها
می توانید با استفاده از آرایه ها ، مفهوم انجام محاسبات بر روی داده ها را در صفحه گسترده خود با اسکریپت به سطح جدید ببرید. اگر یک متغیر را در اسکریپت Google Apps با استفاده از getValues بارگذاری کنید ، این متغیر آرایه ای خواهد بود که می تواند مقادیر زیادی را از ورق بارگیری کند.
function myFunction() {var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataRange().getValues();
متغیر داده چند بعدی است. آرایه ای که تمام داده ها را از برگه نگه می دارد. برای انجام محاسبه در داده ها ، از حلقه برایاستفاده می کنید. پیشخوان حلقه for برای هر سطر کار می کند ، و ستون بر اساس ستونی که می خواهید داده ها را بکشید ثابت است.
در صفحه گسترده ما ، می توانید محاسبات را در سه ردیف انجام دهید داده ها به شرح زیر است.
for (var i = 1; i < data.length; i++) {var result = data[i][0] * 100; sheet.getRange(i+1, 2).setValue(result); } }
این اسکریپت را همانطور که در بالا انجام دادید ذخیره و اجرا کنید. خواهید دید که تمام نتایج در ستون شماره 2 در صفحه گسترده شما پر شده است.
متوجه خواهید شد که ارجاع یک سلول و ردیف در متغیر آرایه متفاوت از یک تابع getRange است.
داده [i] [0]به ابعاد آرایه اشاره دارد که در آن ابعاد اول ردیف و دومین ستون است. هر دوی اینها از صفر شروع می شوند.
getRange (i + 1 ، 2)به ردیف دوم اشاره دارد که i = 1 (از آنجا که ردیف 1 عنوان است) ، و 2 است ستون دوم که نتایج در آن ذخیره می شود.
از appendRow برای نوشتن نتایج استفاده کنید
اگر یک صفحه گسترده داشته باشید که بخواهید داده را در یک جدید بنویسید ردیف به جای یک ستون جدید؟
این کار با عملکرد appendRowآسان است. این عملکرد برای اطلاعات موجود در برگه مزاحم نخواهد شد. فقط یک ردیف جدید را به برگه موجود اضافه می کنید.
به عنوان نمونه تابعی را ایجاد کنید که از 1 تا 10 بشمارد و پیشخوان را با ضرب 2 در یک پیشخوانستون.
این تابع به نظر می رسد:
function myFunction() {var sheet = SpreadsheetApp.getActiveSheet(); for (var i = 1; i<11; i++) { var result = i * 2; sheet.appendRow([i,result]); } }
وقتی این تابع را اجرا می کنید ، این نتایج هستند.