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