معرفی

Google Apps Script (GAS) یک پلتفرم توسعه اسکریپت است که به سرویس‌های مختلف گوگل مانند Google Sheets، Google Docs و Google Forms مرتبط است. این امکان را می‌دهد تا وظایف را خودکار کند، عملکردهای سفارشی اضافه کند و خدمات گوگل را یکپارچه کند.

در این یادداشت، ما می‌خواهیم مفاهیم اصلی Google Apps Script را با استناد به مثال‌های عملی بررسی کنیم. مفاهیمی مانند متغیرها، حلقه‌ها، توابع و موارد دیگر را مورد بررسی قرار می‌دهیم و آن‌ها را با توجه به contexte خاص GAS تنظیم می‌کنیم.

ساختار اصلی در Google Apps Script

برای شروع، ساختار پایه یک اسکریپت Google Apps را بررسی می‌کنیم.

/**
 * 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`برای تعریف متغیرها استفاده می‌شوند. اما ضروری است که تفاوت‌ها و پیامدهای آن‌ها را درک کنیم.

/**
 * 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`برای مدیریت جریان اجرای کد در 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

پارامترها و scopes نقش کلیدی در توسعه اسکریپت‌ها در 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، اشیاء داخلی بسیاری، تعامل با خدمات گوگل را آسان می‌سازند.

/**
 * 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));
}

عملگرهای Rest و Spread در 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 استفاده کنید.

مقالات مرتبط