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

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

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

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

البدء

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

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

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

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

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