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

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

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

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

البدء

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

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

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

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

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