목차

읽는 데 걸리는 시간 : 30분

서론

Google Apps Script(GAS)는 Google Sheets, Google Docs, Google Forms과 같은 다양한 Google 서비스와 연관된 스크립트 개발 플랫폼입니다. 이를 통해 작업을 자동화하고 맞춤형 기능을 추가하며 Google 서비스를 통합할 수 있습니다.

이 메모에서는 구체적인 예를 바탕으로 Google Apps Script의 주요 개념을 탐구합니다. 변수, 루프, 함수 등 다양한 개념을 다루며, 이를 GAS의 특정 맥락에 맞게 적용할 것입니다.

Google Apps Script의 기본 구조

시작하기 전에, Google Apps Script의 기본 구조를 살펴봅시다.

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

Google Apps Script에서 Var, Let 및 Const

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

구글 앱스 스크립트에서의 반복문

루프, 예를 들어`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의 Rest 및 Spread 연산자

휴식 연산자 (…​) 그리고 의 전파 (…​)는 배열과 객체를 간결하게 조작하는 데 유용합니다.

/**
 * 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의 기능을 최대한 활용하세요.

관련 기사