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

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

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

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

البدء

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

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

وحدات ماكرو

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

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

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

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

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

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