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

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

تعالج معظم النصوص البرمجية المصممة لـ Google Sheets الصفائف للتفاعل مع الخلايا والصفوف والأعمدة في جدول بيانات. إذا لم تكن مطّلعًا على المصفوفات في JavaScript، تقدّم لك Codecademy وحدة تدريب رائعة للمصفوفات. (يُرجى العلم أنّ هذه الدورة التدريبية لم يتم تطويرها من قِبل Google، وهي غير مرتبطة بشركة 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"، جرِّب البدء السريع لمدة 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');
}

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

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

لمعرفة المزيد من المعلومات عن الدوال المخصّصة، جرِّب القوائم والدوال المخصّصة دليل البدء السريع لمدة 5 دقائق أو ألقِ نظرة على الدليل المفصّل حول الدوال المخصّصة.

وحدات ماكرو

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

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

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

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

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

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