สารบัญ

เวลาในการอ่าน : 30 นาที

บทนำ

Google Apps Script (GAS) เป็นแพลตฟอร์มการพัฒนาสคริปต์ที่เชื่อมต่อกับบริการ Google หลายอย่าง เช่น Google Sheets, Google Docs และ Google Forms ช่วยให้ผู้ใช้สามารถทำงานอัตโนมัติ เพิ่มฟังก์ชันที่กำหนดเอง และบูรณาการบริการของ Googleได้

ในบันทึกนี้ เราจะสำรวจแนวคิดหลักของ Google Apps Script โดยยึดตามตัวอย่างที่ชัดเจน เราจะกล่าวถึงแนวคิดต่างๆ เช่น ตัวแปร ลูป ฟังก์ชัน และอื่นๆ อีกมากมาย โดยปรับให้เข้ากับบริบทเฉพาะของ 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

พารามิเตอร์และขอบเขตมีบทบาทสำคัญในการพัฒนาสคริปต์ใน 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));
}

ตัวดำเนินการของ 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 อย่างเต็มที่

บทความที่เกี่ยวข้อง