مقدمة

Google Apps Script (GAS) هو منصة تطوير سكريبت مرتبطة بخدمات جوجل المتنوعة مثل جداول Google، مستندات Google، ونماذج Google. يتيح أتمتة المهام، وإضافة ميزات مخصصة، ودمج خدمات جوجل.

في هذا المذكرة، سنستكشف المفاهيم الأساسية لـ Google Apps Script مع الاعتماد على أمثلة ملموسة. سنتناول مفاهيم مثل المتغيرات، والحلقات، والوظائف، وغير ذلك، مع تكييفها مع السياق المحدد لـ GAS.

هيكل أساسي في Google Apps Script

لبدء، دعونا نفحص الهيكل الأساسي لبرنامج نصي لتطبيقات Google.

/**
 * Structure de base en Google Apps Script
 */
function exempleStructureGAS() {
    // Votre code ici
    Logger.log("Hello, Google Apps Script!");
}

أنواع ومتغيرات في Google Apps Script

يستخدم Google Apps Script JavaScript كلغة برمجة. تعمل أنواع البيانات والمتغيرات بطريقة مشابهة لـ JavaScript القياسي.

/**
 * Types et Variables en Google Apps Script
 */
function exempleTypesVariablesGAS() {
    // Votre code ici
    var nombre = 42;
    var texte = "Bonjour, Google Apps Script!";
    Logger.log(nombre);
    Logger.log(texte);
}

العمليات والعوامل في Google Apps Script

العمليات والمشغلون في Google Apps Script هي نفسها في JavaScript.

/**
 * Opérations et Opérateurs en Google Apps Script
 */
function exempleOperationsGAS() {
    // Votre code ici
    var x = 10;
    var y = 5;
    var resultat = x + y;
    Logger.log(resultat);
}

Var, Let و Const في Google Apps Script

في GAS، مفاهيم`var`, let, et `const`sont استخدامها لإعلان المتغيرات. ومع ذلك، من الضروري فهم اختلافاتها وتأثيراتها.

/**
 * Var, Let et Const en Google Apps Script
 */
function exempleVarLetConstGAS() {
    // Votre code ici
    // Utilisation de var
    var x = 10;
    if (true) {
        var x = 20; // La variable x est modifiée globalement
    }
    Logger.log(x);

    // Utilisation de let
    let y = 30;
    if (true) {
        let y = 40; // La variable y est limitée au bloc if
    }
    Logger.log(y);

    // Utilisation de const
    const z = 50;
    // z = 60; // Impossible de réassigner une constante
    Logger.log(z);
}

هياكل التحكم في Google Apps Script

مثل هياكل التحكم`if`, else, while et `for`sont utilisées pour gérer le flux d’exécution dans Google Apps Script.

/**
 * Structures de Contrôle en Google Apps Script
 */
function exempleStructuresControleGAS() {
    // Votre code ici
    var condition = true;

    if (condition) {
        Logger.log("La condition est vraie.");
    } else {
        Logger.log("La condition est fausse.");
    }

    var compteur = 0;
    while (compteur < 5) {
        Logger.log(compteur);
        compteur++;
    }

    for (var i = 0; i < 3; i++) {
        Logger.log(i);
    }
}

الإعدادات والنطاقات في Google Apps Script

المعلمات والنطاقات تلعب دورًا حاسمًا في تطوير النصوص البرمجية في GAS. افهم كيف تعمل لتجنب السلوكيات غير المتوقعة.

/**
 * Paramètres et Scopes en Google Apps Script
 */
function exempleParametresScopesGAS(parametre) {
    // Votre code ici
    var variableGlobale = "Je suis global";

    function afficherParametre() {
        Logger.log(parametre);
    }

    afficherParametre();
    Logger.log(variableGlobale);
}

ثوابت، متغيّرات، والحروف في Google Apps Script

فهم الفرق بين`const`, var, et `let`هو أساسي لاستخدام فعال للمتغيرات في Google Apps Script.

/**
 * Constantes, Variables, et Lettres en Google Apps Script
 */
function exempleConstantesVariablesLettresGAS() {
    // Votre code ici
    const constante = "Je ne change pas";
    Logger.log(constante);

    var variable = "Je peux changer";
    Logger.log(variable);

    let lettre = "Je peux aussi changer, mais seulement dans mon bloc";
    Logger.log(lettre);
}

الحلقات في Google Apps Script

الحلقات، مثل`for` et while, هي ضرورية للمرور على العناصر وتنفيذ عمليات متكررة.

/**
 * Boucles en Google Apps Script
 */
function exempleBouclesGAS() {
    // Votre code ici
    for (var i = 0; i < 3; i++) {
        Logger.log(i);
    }

    var condition = true;
    var compteur = 0;

    while (condition) {
        Logger.log("Tour de boucle");
        compteur++;
        if (compteur === 3) {
            condition = false;
        }
    }
}

الكائنات في Google Apps Script

يتم استخدام الكائنات لتنظيم البيانات. في GAS، تسهل العديد من الكائنات المدمجة التفاعل مع خدمات Google.

/**
 * Objets en Google Apps Script
 */
function exempleObjetsGAS() {
    // Votre code ici
    var feuille = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var cellule = feuille.getRange("A1");
    cellule.setValue("Nouvelle valeur");
}

الثوابت، المتغيرات، والحروف في Google Apps Script

فهم الفرق بين`const`, var, et `let`إنه ضروري لاستخدام فعال للمتغيرات في Google Apps Script.

/**
 * Constantes, Variables, et Lettres en Google Apps Script
 */
function exempleConstantesVariablesLettresGAS() {
    // Votre code ici
    const constante = "Je ne change pas";
    Logger.log(constante);

    var variable = "Je peux changer";
    Logger.log(variable);

    let lettre = "Je peux aussi changer, mais seulement dans mon bloc";
    Logger.log(lettre);
}

وظائف في Google Apps Script

الوظائف هي عناصر أساسية في البرمجة. في GAS، يمكن الإعلان عنها واستدعاؤها بطرق مختلفة.

/**
 * Fonctions en Google Apps Script
 */
function exempleFonctionsGAS() {
    // Votre code ici
    function additionner(a, b) {
        return a + b;
    }

    var resultat = additionner(2, 3);
    Logger.log(resultat);

    // Fonction anonyme
    var multiplier = function (x, y) {
        return x * y;
    };

    Logger.log(multiplier(4, 5));
}

عامل الراحة وعامل الانتشار في Google Apps Script

عوامل الراحة (…​) و من الانتشار (…​) هي مفيدة للتعامل مع المصفوفات والكائنات بطريقة مختصرة.

/**
 * Opérateurs de Repos et de Propagation en Google Apps Script
 */
function exempleOperateursReposPropagationGAS() {
    // Votre code ici
    // Opérateur de repos (...) pour les tableaux
    var nombres = [1, 2, 3, 4, 5];
    var [...copieNombres] = nombres;
    Logger.log(copieNombres);

    // Opérateur de propagation (...) pour les objets
    var objOriginal = { x: 1, y: 2 };
    var objClone = { ...objOriginal, z: 3 };
    Logger.log(objClone);
}

التعين عن طريق التفكيك في Google Apps Script

التعيين عن طريق التفكيك هو ميزة قوية تسمح باستخراج القيم من الكائنات والمصفوفات بطريقة مختصرة.

/**
 * Affectation par Décomposition en Google Apps Script
 */
function exempleAffectationDecompositionGAS() {
    // Votre code ici
    var coordonnees = [3, 4];
    var [x, y] = coordonnees;
    Logger.log(x);
    Logger.log(y);

    var utilisateur = { nom: "John", age: 30 };
    var { nom, age } = utilisateur;
    Logger.log(nom);
    Logger.log(age);
}

المجموعات والبرمجة التصريحية في Google Apps Script

Google Apps Script يدعم هياكل البيانات مثل المصفوفات، ومفاهيم البرمجة الوظيفية والتكرار التصريحي (><الإجرائي)، مثل`map`, reduce et forEach.

/**
 * Collections et Programmation Déclarative en Google Apps Script
 */
function exempleCollectionsFonctionnelleGAS() {
    // Votre code ici
    // Exemple de tableau (collection)
    var nombres = [1, 2, 3, 4, 5];

    // Utilisation de forEach
    nombres.forEach(function (nombre) {
        Logger.log(nombre);
    });

    // Utilisation de map
    var carresNombres = nombres.map(function (nombre) {
        return nombre * nombre;
    });
    Logger.log(carresNombres);

    // Utilisation de reduce
    var somme = nombres.reduce(function (acc, nombre) {
        return acc + nombre;
    }, 0);
    Logger.log(somme);
}

الخاتمة

غطى هذا المذكرة المفاهيم الأساسية لتطبيقات Google Apps Script من خلال توضيحها بأمثلة كودية ملموسة. استخدم هذه المعرفة لأتمتة مهامك اليومية، وتخصيص مستنداتك، والاستفادة الكاملة من إمكانيات Google Apps Script.

Articles connexes