توسيع جداول بيانات Google

تتيح لك خدمة "برمجة تطبيقات Google" تنفيذ إجراءات جديدة ومميّزة باستخدام "جداول بيانات Google". يمكنك استخدام Apps Script لإضافة قوائم مخصّصة، ومربّعات حوار وأشرطة جانبية إلى "جداول بيانات Google". ويتيح لك أيضًا كتابة وظائف مخصّصة لجدول غوغل، بالإضافة إلى دمج جدول غوغل مع خدمات Google الأخرى، مثل "تقويم Google" وDrive وGmail.

تتعامل معظم النصوص البرمجية المصمّمة لـ "جداول بيانات Google" مع الصفائف بهدف التفاعل مع الخلايا والصفوف والأعمدة في جدول البيانات. إذا لم تكن على دراية بالأعمدة في JavaScript، تقدّم Codecademy وحدة تدريبية رائعة للأعمدة. (ملاحظة: لم تطوّر Google هذه الدورة التدريبية وهي غير مرتبطة بها).

للحصول على مقدمة سريعة حول استخدام Apps Script مع "جداول بيانات Google"، يمكنك الاطّلاع على دليل البدء السريع الذي يستغرق 5 دقائق بشأن وحدات الماكرو والقوائم والدوالّ المخصّصة.

البدء

تتضمّن Apps Script واجهات برمجة تطبيقات خاصة تتيح لك إنشاء "جداول بيانات Google" وقراءتها و تعديلها آليًا. يمكن أن تتفاعل أداة "برمجة التطبيقات" مع "جداول بيانات Google" بطريقتَين أساسيتَين: يمكن لأي نص برمجي إنشاء جدول بيانات أو تعديله إذا كان مستخدم النص البرمجي يملك أذونات مناسبة للجدول، ويمكن أيضًا ربط النص البرمجي بجدول بيانات، ما يمنح النص البرمجي قدرات خاصة لتغيير واجهة المستخدم أو الاستجابة عند فتح جدول البيانات. لإنشاء نص برمجي مرتبط، اختَر الإضافات > برمجة تطبيقات Google من داخل جداول بيانات Google.

تتعامل خدمة جداول البيانات مع Google Sheets كشبكة، وتعمل مع صفائف ثنائية الأبعاد. لاسترداد البيانات من جدول البيانات، يجب الوصول إلى جدول البيانات الذي يتم فيه تخزين البيانات، والحصول على النطاق في جدول البيانات الذي يحتوي على البيانات، ثم الحصول على قيم الخلايا. تسهِّل Apps Script الوصول إلى البيانات من خلال قراءة البيانات المنظَّمة في جدول البيانات وإنشاء عناصر JavaScript لها.

قراءة البيانات

لنفترض أنّ لديك قائمة بأسماء المنتجات وأرقامها تخزّنها في جدول بيانات، كما هو موضّح في الصورة أدناه.

يوضّح المثال أدناه كيفية استرداد أسماء المنتجات وأرقامها وتدوينها.

function logProductInfo() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  for (var i = 0; i < data.length; i++) {
    Logger.log('Product name: ' + data[i][0]);
    Logger.log('Product number: ' + data[i][1]);
  }
}

عرض السجلات

للاطّلاع على البيانات التي تم تسجيلها، انقر على سجلّ التنفيذ في أعلى محرِّر النصوص البرمجية.

كتابة البيانات

لتخزين البيانات، مثل اسم منتج جديد ورقمه في جدول البيانات، أضِف الرمز البرمجي التالي إلى نهاية النص البرمجي.

function addProduct() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow(['Cotton Sweatshirt XL', 'css004']);
}

تُلحِق التعليمة البرمجية أعلاه صفًا جديدًا في أسفل جدول البيانات، مع القيم المحدّدة. في حال تنفيذ هذه الدالة، سيظهر لك صف جديد تمت إضافته إلى جدول البيانات.

القوائم المخصّصة وواجهات المستخدم

يمكنك تخصيص "جداول بيانات Google" من خلال إضافة قوائم ومربّعات حوار وأشرطة جانبية مخصّصة. للتعرّف على أساسيات إنشاء القوائم، اطّلِع على دليل القوائم. للتعرّف على كيفية تخصيص محتوى مربّع حوار، اطّلِع على دليل خدمة HTML.

يمكنك أيضًا إرفاق دالة نصية بصورة أو رسم ضمن جدول ข้อมูล، وسيتم تنفيذ الدالة عندما ينقر المستخدم على الصورة أو الرسم. لمزيد من المعلومات، اطّلِع على مقالة الصور والرسومات في "جداول بيانات Google".

إذا كنت تخطّط لنشر واجهتك المخصّصة كجزء من إضافة، اتّبِع دليل الأنماط للتوافق مع أسلوب وتنسيق محرِّر "جداول بيانات Google".

الربط بخدمة "نماذج Google"

تتيح لك أداة "برمجة التطبيقات من Google" ربط "نماذج Google" بـ "جداول بيانات Google" من خلال خدمات نماذج Google و جداول بيانات Google. يمكن أن تؤدي هذه الميزة إلى إنشاء نموذج "نماذج Google" تلقائيًا استنادًا إلى البيانات في جدول بيانات. تتيح لك Apps Script أيضًا استخدام العوامل المشغِّلة، مثل onFormSubmit لتنفيذ إجراء محدّد بعد أن يردّ المستخدم على النموذج. للاطّلاع على مزيد من المعلومات عن ربط "جداول بيانات Google" بخدمة "نماذج Google"، جرِّب البدء السريع الذي يستغرق 5 دقائق من أجل إدارة الإجابات في "نماذج Google".

التنسيق

تحتوي فئة Range على طرق مثل setBackground(color) للوصول إلى تنسيق خلية أو نطاق خلايا وتعديله. يوضّح المثال التالي كيفية ضبط نمط الخط لنطاق:

function formatMySpreadsheet() {
  // Set the font style of the cells in the range of B2:C2 to be italic.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var cell = sheet.getRange('B2:C2');
  cell.setFontStyle('italic');
}

التحقّق من صحة البيانات

يتيح لك Apps Script الوصول إلى قواعد التحقّق من صحة البيانات الحالية في "جداول بيانات Google" أو إنشاء قواعد جديدة. على سبيل المثال، يوضّح العيّنة التالية كيفية ضبط قاعدة validate data تسمح فقط بأرقام تتراوح بين 1 و100 في خلية.

function validateMySpreadsheet() {
  // Set a rule for the cell B4 to be a number between 1 and 100.
  var cell = SpreadsheetApp.getActive().getRange('B4');
  var rule = SpreadsheetApp.newDataValidation()
     .requireNumberBetween(1, 100)
     .setAllowInvalid(false)
     .setHelpText('Number must be between 1 and 100.')
     .build();
  cell.setDataValidation(rule);
}

لمزيد من التفاصيل حول التعامل مع قواعد التحقّق من صحة البيانات، اطّلِع على SpreadsheetApp.newDataValidation()، DataValidationBuilder، وRange.setDataValidation(rule).

قوائم أغانٍ رائجة

تتيح لك أداة Apps Script تضمين الرسوم البيانية في جدول بيانات يمثّل البيانات في نطاق معيّن. ينشئ المثال التالي مخطّطًا شريطيًا مضمّنًا، بافتراض أنّه لديك بيانات قابلة للتمثيل في الخلايا A1:B15:

function newChart() {
  // Generate a chart representing the data in the range of A1:B15.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.BAR)
     .addRange(sheet.getRange('A1:B15'))
     .setPosition(5, 5, 0, 0)
     .build();

  sheet.insertChart(chart);
}

لمزيد من المعلومات عن تضمين رسم بياني في جدول البيانات، اطّلِع على EmbeddedChart و أداة إنشاء الرسوم البيانية المحدّدة، مثل EmbeddedPieChartBuilder.

الدوال المخصّصة في "جداول بيانات Google"

تشبه الدالة المخصّصة دالة جدول بيانات مضمّنة مثل =SUM(A1:A5)، إلا أنّك تحدّد سلوك الدوال باستخدام Apps Script. على سبيل المثال، يمكنك إنشاء دالة مخصّصة، in2mm()، تحوّل قيمة من البوصات إلى ملليمترات، ثم استخدام الصيغة في جدول البيانات عن طريق كتابة =in2mm(A1) أو =in2mm(10) فيخلية.

للتعرّف على مزيد من المعلومات عن الدوالّ المخصّصة، يمكنك تجربة الدليل المفصّل المخصّص للمبتدئين في برمجة التطبيقات والذي يستغرق 5 دقائق ويتناول القوائم والدوالّ المخصّصة، أو يمكنك الاطّلاع على الدليل المفصّل عن الدوالّ المخصّصة.

وحدات ماكرو

وحدات الماكرو هي طريقة أخرى لتنفيذ رمز Apps Script من واجهة مستخدم "جداول بيانات Google". على عكس الدوال المخصّصة، يتم تفعيلها باستخدام اختصار لوحة مفاتيح أو من خلال قائمة "جداول بيانات Google". لمزيد من المعلومات، يُرجى الاطّلاع على وحدات الماكرو في "جداول بيانات Google".

الإضافات في "جداول بيانات Google"

الإضافات هي مشاريع برمجة تطبيقات Google مُعدّة خصيصًا ويتم تشغيلها داخل "جداول بيانات Google" ويمكن تثبيتها من متجر الإضافات في "جداول بيانات Google". إذا كنت قد طوّرت نصًا برمجيًا لتطبيق "جداول بيانات Google" وأردت مشاركته مع الجميع، تتيح لك خدمة Apps Script نشر النص البرمجي كأحد الإضافات حتى يتمكّن المستخدمون الآخرون من تثبيته من متجر الإضافات.

العوامل التي تؤدي إلى الظهور

يمكن للنصوص البرمجية المرتبطة بملف "جداول بيانات Google" استخدام عوامل تشغيل بسيطة مثل الدالتَين onOpen() وonEdit() للردّ تلقائيًا عندما يفتح مستخدم لديه إذن تعديل الوصول إلى جدول البيانات جدول البيانات أو يعدّله.

مثل عوامل التشغيل البسيطة، تسمح عوامل التشغيل القابلة للتثبيت لبرنامج "جداول بيانات Google" بتنفيذ دالة تلقائيًا عند حدوث حدث معيّن. ومع ذلك، توفّر عوامل التفعيل القابلة للتركيب مرونة أكبر من عوامل التفعيل البسيطة وتتوافق مع الأحداث التالية: الفتح والتعديل والتغيير وإرسال النموذج والأحداث المستندة إلى الوقت (الساعة).