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

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

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

للحصول على مقدمة سريعة عن استخدام برمجة التطبيقات مع جداول بيانات Google، راجع دليل البدء السريع لمدة 5 دقائق وحدات الماكرو، والقوائم، والدوال المخصّصة:

البدء

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

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

التنسيق

وتضم الفئة 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');
}

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

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

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

تتيح لك "برمجة التطبيقات" تضمين المخططات في جدول بيانات يمثل البيانات في نطاق معين. ينشئ المثال التالي مخطّطًا شريطيًا مضمّنًا، بافتراض أنّه لديك بيانات قابلة للتمثيل في الخلايا 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) باستثناء أنك تحدد طريقة عمل الدوال باستخدام "برمجة تطبيقات Google". على سبيل المثال، يمكنك إنشاء تصميم in2mm()، التي تحوِّل قيمة من البوصة إلى الملليمتر، ثم تستخدم المعادلة في جدول البيانات عن طريق كتابة =in2mm(A1) أو =in2mm(10) في خبيثة.

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

وحدات ماكرو

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

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

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

أسباب طلب المساعدة

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

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