5 وظائف لصفحات أوراق Google التي تحتاج إلى معرفتها


Google Sheets هي أداة قوية لجداول البيانات تعتمد على السحابة وتتيح لك القيام بكل شيء تقريبًا في Microsoft Excel. لكن القوة الحقيقية لـ Google Sheets هي ميزة البرمجة النصية من Google التي تأتي معها.

البرمجة النصية لتطبيقات Google هي أداة برمجة نصية في الخلفية لا تعمل فقط في صحائف جوجل ولكن أيضًا مُحرر مستندات Google و Gmail و تحليلات كوكل ، وتقريبا كل خدمة سحابية أخرى من Google. يتيح لك أتمتة هذه التطبيقات الفردية ، ودمج كل من هذه التطبيقات مع بعضها البعض.

في هذه المقالة ، ستتعرف على كيفية البدء في برمجة تطبيقات Google وإنشاء نص أساسي في أوراق Google لقراءة وكتابة بيانات الخلية وأوراق Google المتقدمة الأكثر فعالية وظائف البرنامج النصي.

كيفية إنشاء برنامج نصي لتطبيقات Google

يمكنك البدء الآن في إنشاء أول برنامج نصي لتطبيقات Google من داخل أوراق Google.

للقيام بذلك ، حدد أدواتمن القائمة ، ثم Script Editor.

يؤدي هذا إلى فتح نافذة محرر البرنامج النصي والافتراضيات إلى وظيفة تسمى 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 مثل هذه (عن طريق تحديد رمز التشغيل) ، ستحتاج إلى توفير إذن لتشغيل البرنامج النصي على حساب Google الخاص بك.

اسمح بمواصلة الأذونات. بمجرد تشغيل البرنامج النصي الخاص بك ، سترى أن البرنامج النصي كتب نتائج الحساب إلى الخلية المستهدفة.

الآن بعد أن عرفت كيفية كتابة وظيفة البرنامج النصي الأساسية لتطبيقات Google ، دعونا نلقي نظرة على بعض الوظائف المتقدمة.

استخدام getValues ​​لتحميل المصفوفات

يمكنك نقل مفهوم إجراء العمليات الحسابية على البيانات في جدول البيانات الخاص بك مع البرمجة النصية إلى مستوى جديد باستخدام المصفوفات. إذا قمت بتحميل متغير في النص البرمجي لتطبيقات Google باستخدام 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 "للعودة عربة بعد كل سطر. في نهاية كل كتلة بيانات للملكية ، ستحتاج إلى عائدتين من الأحرف لجسم بريد إلكتروني منسق بشكل جيد.

بمجرد معالجة جميع الصفوف ، يحتفظ المتغير "body" بسلسلة رسائل البريد الإلكتروني بالكامل. أنت الآن جاهز لإرسال البريد الإلكتروني!

كيفية إرسال البريد الإلكتروني في Google Apps Script

سيكون القسم التالي من Google Script هو إرسال "الموضوع" و "الجسم" عبر البريد الإلكتروني. يعد إجراء ذلك في Google Script أمرًا سهلاً للغاية.

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

يعد MailApp فئة مناسبة جدًا داخل البرامج النصية لتطبيقات Google والتي تتيح لك الوصول إلى خدمة البريد الإلكتروني لحساب Google لإرسال أو تلقي رسائل البريد الإلكتروني. بفضل هذا ، يتيح لك السطر المفرد الذي يحتوي على وظيفة sendEmail ارسال اي بريد الكتروني فقط عنوان البريد الإلكتروني وسطر الموضوع والنص الأساسي.

هذا ما سيبدو عليه البريد الإلكتروني الناتج .

الجمع بين القدرة على الاستخراج موجز RSS لموقع ويب ، وتخزينه في ورقة Google ، وإرساله إلى نفسك مع تضمين روابط URL ، يجعل من المريح جدًا اتباع أحدث محتوى لأي موقع ويب.

هذا مجرد مثال على القوة يتوفر في البرامج النصية لتطبيقات Google لأتمتة الإجراءات ودمج خدمات سحابية متعددة.

نصائح قبل توقيع عقد العمل - أ. سارة ناجي

المنشورات ذات الصلة:


16.01.2020