Google Apps Script 介绍
Publié le 22 December 2023
目录
阅读时间:30分钟
-
Google Apps Script 中的函数
-
Google Apps Script 中的设置和作用域
介绍
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);
}
变量、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));
}
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的功能。