ماذا سنبني اليوم؟
سنتعلم اليوم كيفية كتابة وتشغيل أول سكريبت بسيط لنا في Google Apps Script. سنقوم بإنشاء سكريبت يقوم بتسجيل التاريخ والوقت الحاليين في صف جديد داخل جدول بيانات Google (Google Sheet) في كل مرة يتم تشغيله. هذا سيمنحك لمحة عملية عن كيفية أتمتة المهام البسيطة دون الحاجة إلى خبرة برمجية مسبقة.
ما هو Google Apps Script؟
Google Apps Script هو منصة تطوير قائمة على JavaScript تتيح لك توسيع وتخصيص تطبيقات Google Workspace (مثل Gmail، Google Sheets، Google Docs، Google Calendar، وغيرها). تخيل أن لديك مساعداً شخصياً يمكنه أداء مهام متكررة أو معقدة داخل هذه التطبيقات تلقائياً – هذا هو Apps Script!
لماذا نستخدم Google Apps Script؟
- الأتمتة: يمكنك أتمتة المهام المتكررة مثل إرسال رسائل البريد الإلكتروني، تحديث جداول البيانات، أو إنشاء مستندات.
- التكامل: ربط تطبيقات Google Workspace ببعضها البعض أو حتى بخدمات خارجية.
- التخصيص: إضافة وظائف مخصصة غير متوفرة بشكل افتراضي في تطبيقات Google.
- سهولة الوصول: يعمل بالكامل في السحابة، ولا يتطلب أي تثبيت لبرامج إضافية.
ملاحظة تقنية هامة: Google Apps Script مبني على لغة JavaScript، وهي لغة برمجة شائعة جداً على الويب. لا داعي للقلق إذا لم تكن تعرف JavaScript؛ سنبدأ بالأساسيات التي يسهل فهمها.
خطوات البدء: مشروعنا الأول
- افتح جدول بيانات Google جديداً: اذهب إلى sheets.google.com وأنشئ جدول بيانات فارغاً جديداً.
- افتح محرر Apps Script: من القائمة العلوية في جدول البيانات، اختر "الإضافات" (Extensions) ثم "Apps Script". سيؤدي هذا إلى فتح علامة تبويب جديدة في متصفحك تحتوي على محرر الكود.
- تعرف على المحرر: سترى ملفاً افتراضياً اسمه
Code.gsمع دالة فارغة تسمىmyFunction(). هذا هو المكان الذي ستكتب فيه الكود الخاص بك.
الكود العملي: تسجيل الوقت في جدول بيانات Google
<pre><code>
function logCurrentDateTime() {
// الحصول على جدول البيانات النشط حالياً
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
// الحصول على الورقة الأولى (أو أي ورقة تريدها، هنا "Sheet1")
// تأكد من أن اسم الورقة في جدول بياناتك هو "Sheet1" أو قم بتغييره ليناسب اسم ورقتك
var sheet = spreadsheet.getSheetByName("Sheet1");
// إذا لم يتم العثور على الورقة، قم بإنشاء ورقة جديدة
if (!sheet) {
sheet = spreadsheet.insertSheet("Sheet1");
}
// الحصول على التاريخ والوقت الحاليين
var now = new Date();
// إضافة صف جديد إلى الورقة مع التاريخ والوقت
sheet.appendRow([now.toString()]);
// تسجيل رسالة في سجل التنفيذ (يمكنك رؤيتها في محرر Apps Script)
Logger.log("تم تسجيل التاريخ والوقت: " + now.toString());
}
</code></pre>
شرح الكود خطوة بخطوة
function logCurrentDateTime() { ... }: هذه هي دالتنا (وظيفتنا). جميع الأكواد التي نكتبها يجب أن تكون داخل دالة.logCurrentDateTimeهو اسم الدالة الذي اخترناه.var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();: هذا السطر يحصل على مرجع لجدول بيانات Google الذي فتحت منه محرر Apps Script.SpreadsheetAppهو كائن يوفر طرقاً للتفاعل مع جداول البيانات.var sheet = spreadsheet.getSheetByName("Sheet1");: هنا نطلب من جدول البيانات الحصول على ورقة باسم "Sheet1". إذا كان اسم ورقة العمل لديك مختلفاً، فقم بتغيير "Sheet1" إلى الاسم الصحيح.if (!sheet) { sheet = spreadsheet.insertSheet("Sheet1"); }: هذا تحقق بسيط. إذا لم تكن هناك ورقة باسم "Sheet1"، فسيقوم السكريبت بإنشائها.var now = new Date();: هذا السطر ينشئ كائناً جديداً من التاريخ والوقت الحاليين.sheet.appendRow([now.toString()]);: هذه هي أهم خطوة! نستخدم طريقةappendRowلإضافة صف جديد إلى ورقة العمل. نمرر لها مصفوفة (قائمة) من القيم. في هذه الحالة، لدينا قيمة واحدة فقط: التاريخ والوقت الحاليين المحولين إلى نص.Logger.log("تم تسجيل التاريخ والوقت: " + now.toString());: هذه الدالة مفيدة جداً لتصحيح الأخطاء. إنها تسجل رسالة في "سجلات التنفيذ" (Executions logs) داخل محرر Apps Script، مما يساعدك على رؤية ما يفعله الكود.
ملاحظة تقنية هامة: تذكر حفظ السكريبت الخاص بك بانتظام (Ctrl+S أو File -> Save project).
تشغيل الكود
- في محرر Apps Script، تأكد من أن القائمة المنسدلة بجانب زر التشغيل (أيقونة المثلث) تعرض
logCurrentDateTime. - انقر على زر "تشغيل" (Run).
- في المرة الأولى التي تشغل فيها سكريبت يتفاعل مع خدمات Google (مثل جداول البيانات)، سيُطلب منك مراجعة الأذونات.
- انقر على "مراجعة الأذونات" (Review permissions).
- اختر حساب Google الخاص بك.
- قد تظهر شاشة تحذير "لم يتم التحقق من هذا التطبيق" (This app isn't verified). لا تقلق، هذا طبيعي لأنك أنت من أنشأ التطبيق. انقر على "Advanced" (خيارات متقدمة) ثم "Go to [اسم مشروعك] (unsafe)".
- راجع الأذونات المطلوبة (مثل "See, edit, create, and delete all your Google Sheets spreadsheets") وانقر على "Allow" (سماح).
- بعد منح الأذونات، سيعمل السكريبت. يمكنك التحقق من "سجلات التنفيذ" في الجزء السفلي من محرر Apps Script لرؤية مخرجات
Logger.log().
النتيجة النهائية المتوقعة
بعد تشغيل الكود بنجاح، ستجد أن جدول بيانات Google الذي فتحت منه محرر Apps Script يحتوي الآن على صف جديد في "Sheet1". هذا الصف سيحتوي على التاريخ والوقت الحاليين، مثل: Thu Jan 01 2023 12:00:00 GMT+0000 (Coordinated Universal Time). كلما قمت بتشغيل السكريبت مرة أخرى، سيتم إضافة صف جديد بالوقت والتاريخ الحاليين. هذا يوضح كيف يمكنك أتمتة إدخال البيانات بسهولة!