5 عملکرد اسکریپت برگه Google شما باید بدانید

Google Sheets یک ابزار گسترده صفحه گسترده مبتنی بر ابر است که به شما امکان می دهد تقریباً همه کارهایی را که می توانید در Microsoft Excel انجام دهید انجام دهید. اما قدرت واقعی Google Sheets ویژگی Google Scriptting است که با آن همراه است.

برنامه نویسی Google Apps ابزاری برای برنامه نویسی پس زمینه است که نه تنها در صفحات Google بلکه همچنین Google Docs ، Gmail کار می کند. ، تجزیه و تحلیل ترافیک گوگل ، و تقریباً هر سرویس cloud Google دیگر. این امکان را به شما می دهد تا آن برنامه های فردی را خودکار کنید و هر یک از آن برنامه ها را با یکدیگر ادغام کنید.

12s>

در این مقاله یاد می گیرید که چگونه با اسکریپت نویسی 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]); } }

وقتی این تابع را اجرا می کنید ، این نتایج هستند.

پردازش فیدهای RSS با URLFetchApp

می توانید عملکرد اسکریپت Google Sheets قبلی و URLFetchAppرا با هم بکشید تا فید RSS را از هر وب سایت بیرون بیاورید ، و برای هر مقاله ای که اخیراً در آن وبسایت منتشر شده است ، یک صفحه بفرستید

این اساساً یک روش DIY برای ایجاد صفحه گسترده خواننده RSS شماست!

اسکریپت انجام این کار نیز خیلی پیچیده نیست.

function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet(); var item, date, title, link, desc;  var txt = UrlFetchApp.fetch("https://www.topsecretwriters.com/rss").getContentText(); var doc = Xml.parse(txt, false);   title = doc.getElement().getElement("channel").getElement("title").getText(); var items = doc.getElement().getElement("channel").getElements("item");    // Parsing single items in the RSS Feed for (var i in items) { item  = items[i]; title = item.getElement("title").getText(); link  = item.getElement("link").getText(); date  = item.getElement("pubDate").getText(); desc  = item.getElement("description").getText(); sheet.appendRow([title,link,date,desc]); } }

همانطور که می بینید ، Xml.parseهر مورد را از فید RSS بیرون می کشد و هر خط را به عنوان ، پیوند ، تاریخ و توضیحات جدا می کند.

با استفاده از عملکرد appendRow، می توانید این موارد را برای ستون های مناسب برای هر مورد در فید RSS قرار دهید.

خروجی در برگه شما ظاهر خواهد شد. چیزی شبیه به این:

در عوض برای جاسازی URL فید RSS در اسکریپت ، می توانید فیلدی در برگه خود با URL داشته باشید ، و سپس چندین برگه داشته باشید - یکی برای هر وب سایت که می خواهید نظارت کنید.

اتصال رشته ها و افزودن برگه حمل بار

می توانید با افزودن برخی از توابع دستکاری متن ، صفحه گسترده RSS را یک قدم بیشتر بردارید ، و سپس از توابع ایمیل استفاده کنید تا با خلاصه ای از همه پست های جدید ، خود را به ایمیل بفرستید. در فید RSS سایت.

برای انجام این کار ، تحت اسکریپتی که در قسمت قبلی ایجاد کردید ، می خواهید اسکریپتی اضافه کنید که تمام اطلاعات موجود در صفحه گسترده را استخراج کند.

می خواهید خط و موضوع متن و متن متن ایمیل را با تجزیه همه اطلاعات از همان "آیتم" همان موردی که برای نوشتن داده های RSS در صفحه گسترده جمع کرده اید ، بسازید.

برای انجام این کار ، با قرار دادن سطرهای زیر قبل از "موارد" برای حلقه ، موضوع و پیام را آغاز کنید.

var subject = ‘Latest 10 articles published at mysite.com’
var message = ‘’

سپس ، در پایان "موارد" برای حلقه (درست بعد از عملکرد appendRow) ، خط زیر را اضافه کنید.

message = message + title + '\n' + link + '\n' + date + '\n' + desc + '\n' + '\n \n';

نماد "+" هر چهار مورد را با هم جمع می کند و به دنبال آن "\ n "برای بازگشت کالسکه بعد از هر خط. در پایان هر بلوک داده عنوان ، شما می خواهید دو کالسکه را برای یک ایمیل الکترونیکی با فرمت زیبا برگردانید.

پس از پردازش تمام سطرها ، متغیر "بدن" کل رشته پیام ایمیل را در خود نگه می دارد. اکنون آماده ارسال ایمیل هستید!

چگونه می توان ایمیل را در اسکریپت Google Apps ارسال کرد

بخش بعدی Google Script شما ارسال خواهد شد "موضوع" و "بدن" از طریق ایمیل. انجام این کار در Google Script بسیار آسان است.

var emailAddress = [email protected];
MailApp.sendEmail(emailAddress, subject, message);

MailApp یک کلاس بسیار راحت در داخل اسکریپت های Google Apps است که به شما امکان ارسال و دریافت به خدمات ایمیل حساب Google خود را می دهد. ایمیل با تشکر از این ، خط واحد با عملکرد sendEmail به شما امکان می دهد ارسال هر ایمیل فقط آدرس ایمیل ، خط موضوع و متن بدن را بدست آورید.

این همان چیزی است که ایمیل حاصل از آن به نظر می رسد .

ترکیب توانایی استخراج فید RSS وب سایت ، آن را در یک صفحه Google ذخیره کرده و با پیوندهای URL شامل ، آن را برای خود ارسال کنید ، پیگیری آخرین مطالب برای هر وب سایت را بسیار راحت می کند.

این فقط یک نمونه از قدرت است موجود در اسکریپت های Google Apps برای خودکارسازی اقدامات و ادغام چندین سرویس cloud.

How to find the person who can help you get ahead at work | Carla Harris

پست های مرتبط:


16.01.2020