تتيح لك "برمجة تطبيقات Google" تنفيذ إجراءات جديدة ومفيدة باستخدام "جداول بيانات Google". يمكنك استخدام Apps Script لإضافة قوائم مخصّصة ومربّعات حوار وأشرطة جانبية إلى "جداول بيانات Google". تتيح لك هذه الأداة أيضًا كتابة دوال مخصّصة لـ "جداول بيانات Google"، بالإضافة إلى دمج "جداول بيانات Google" مع خدمات Google الأخرى، مثل "تقويم Google" وDrive وGmail.
تتعامل معظم البرامج النصية المصمَّمة لـ "جداول بيانات Google" مع المصفوفات للتفاعل مع الخلايا والصفوف والأعمدة في جدول البيانات. إذا لم تكن معتادًا على المصفوفات في JavaScript، يقدّم موقع Codecademy وحدة تدريب رائعة حول المصفوفات. (يُرجى العِلم أنّ هذه الدورة التدريبية لم يتم تطويرها من قِبل Google وليست مرتبطة بها).
للحصول على مقدّمة سريعة حول استخدام "برمجة تطبيقات Google" مع "جداول بيانات Google"، يمكنك الاطّلاع على دليل البدء السريع الذي يستغرق 5 دقائق حول وحدات الماكرو والقوائم والدوال المخصّصة.
البدء
تتضمّن Apps Script واجهات برمجة تطبيقات خاصة تتيح لك إنشاء "جداول بيانات 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"، يمكنك تجربة دليل البدء السريع الذي يستغرق 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'); }
التحقّق من صحة البيانات
تتيح لك Apps Script الوصول إلى قواعد التحقّق من صحة البيانات الحالية في "جداول بيانات 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)
.
الرسوم البيانية
تتيح لك خدمة Apps Script تضمين رسومات بيانية في جدول بيانات تمثّل البيانات في نطاق معيّن. ينشئ المثال التالي مخططًا شريطيًا مضمّنًا، على افتراض أنّ لديك بيانات قابلة للرسم البياني في الخلايا 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" وأردت مشاركته مع العالم، تتيح لك خدمة Apps Script نشر البرنامج النصي كإضافة ليتمكّن المستخدمون الآخرون من تثبيته من متجر الإضافات.
العوامل التي تؤدي إلى الظهور
يمكن للبرامج النصية المرتبطة بملف "جداول بيانات Google" استخدام المشغّلات البسيطة، مثل الدالتين onOpen()
وonEdit()
، للاستجابة تلقائيًا عندما يفتح مستخدم لديه إذن تعديل جدول البيانات أو يعدّله.
مثل المشغّلات البسيطة، تتيح المشغّلات القابلة للتثبيت لبرنامج "جداول بيانات Google" تشغيل دالة تلقائيًا عند وقوع حدث معيّن. ومع ذلك، توفّر المشغّلات القابلة للتثبيت مرونة أكبر من المشغّلات البسيطة وتتيح الأحداث التالية: الفتح والتعديل والتغيير وإرسال النموذج والأحداث المستندة إلى الوقت (الساعة).