Ръководство за начинаещи за скриптове на Google Sheets
Google листове Google Герой / / August 07, 2020
Последна актуализация на

Google Scripts ви позволява да добавяте код в електронната си таблица, за да автоматизирате въвеждането на данни, да въвеждате външни данни в своите листове или да извършвате изчисления по периодичен график.
Ако използвате Google Таблици, може да ви е интересно да знаете, че Google Scripts може значително да подобри вашите електронни таблици.
Помислете за Google Scripts като VBA в Microsoft Excel. Той ви позволява да добавяте код в електронната си таблица, за да автоматизирате въвеждането на данни. Можете да го използвате и за въвеждане на външни данни във вашите листове. Най-хубавото е, че можете да стартирате изчисления по периодичен график, дори когато нямате отворена електронна таблица.
В тази статия ще научите как да активирате Google Scripts и как да пишете и изпълнявате прост скрипт.
Как да използвате Google скриптове
Има няколко неща в Google Таблици, които трябва да активирате, преди да започнете да пишете Google Scripts там.
Изберете менюто Инструменти и изберете Редактор на скриптове от менюто.

Това ще отвори редактора на Google Scripts в прозорец на проекта без име.

Този скрипт всъщност се съдържа във вашия акаунт в Google в инструмента на Google Scripts. Този конкретен проект е свързан с електронната таблица, върху която работите в момента.
Можете да напишете скрипт, но не можете да го стартирате, докато скриптите действително са активирани в листа. Ще трябва да направите това първия път, когато го стартирате (както ще видите по-долу).
За да видите това в действие, нека направим прост скрипт.
Създайте първия си скрипт в Google
В този пример ще напишете скрипт, който добавя всички резултати от теста и окончателните изпити за колоната B (оценките на Крис).
Това е примерната електронна таблица.

Върнете се в прозореца на Google Scripts, поставете следния код във функцията къдрави скоби myFunction (), като така:
функция myFunction () {
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var sheet = ss.getSheets () [0] var range = sheet.getRange (2,2,5);
var values = range.getValues ();
вар сума = 0
за (вар. ред в стойности) {
за (var col в стойности [ред]) {
sum = стойности [ред] [col] + сума;
}
}
sheet.getRange (7,2) .setValue (сума);
}
Този код може да изглежда сложен, но нека разберем точно какво прави. По-просто е, отколкото изглежда.
Нека разбием този код по един ред по един.
Определяне на променливите
1. var ss = SpreadsheetApp.getActiveSpreadsheet ();
Този ред извлича текущата електронна таблица, която е активна. Тъй като използвате този скрипт само когато електронната таблица, на която искате да стартирате изчислението, е активна, тя винаги ще получи правилната електронна таблица. Листът се записва като "обект" променлива, наречена "ss".
2. var sheet = ss.getSheets () [0]
Това получава първия лист и го записва като обектна променлива, наречена лист. Има алтернативна функция, която можете да използвате, за да получите листа по името на листа.
Това би било var sheet = ss.getSheetByName („Sheet1“);
Можете да използвате всяка функция, която харесвате.
3. var range = sheet.getRange (2,2,5);
Тази функция получава диапазон от стойности по ред, колона и брой редове. В този случай ние дърпаме всички стойности, започвайки от втория ред, втората колона и получаваме стойности пет реда надолу.
Променливата „обхват“ става това, което е известно като „масив“. Масивът е променлива, която съдържа множество стойности. В Google Script се отнасяте към някой от тези номера, като използвате специална схема за адресиране на елементи със скоби, както ще видите по-долу.
4. var values = range.getValues ();
Функцията getValues () всъщност дърпа стойностите от обекта за диапазон, който сте дефинирали по-горе.
5. вар сума = 0
Това е само една променлива от числа, която инициализираме с числото 0. Това става началото на начина, по който ще обобщим всички числа в колоната.
Създаване на Loops
6. за (вар. ред в стойности) {
Това се нарича цикъл „За“. Този вид цикъл преминава през определен брой елементи в списък. В този случай той ще премине през масива със стойности, който обсъдихме по-горе. Този първи цикъл ще прегледа всички редове в масива. В този случай ще има само един.
Забележка: Редовете на масива не са същите като редовете на електронната таблица. Когато масивът е заредил стойностите от колоната в електронната таблица, той ги поставя в един ред (или ред) от данни, като този: „89, 92, 78, 98, 89“. Така че, в този случай масивът има един ред (ред) и пет числа (колони).
7. за (var col в стойности [ред]) {
Тази секунда за цикъл ще премине през всички „редове“ в масива. В този случай ще прегледа всички 5 стойности.
8. sum = стойности [ред] [col] + сума;
Всеки път, когато цикълът работи, това изявление ще продължи да добавя сумата от новата стойност към себе си. Докато се случат всичките 5 цикъла, всички 5 числа трябва да бъдат събрани в променливата "сума".
9 sheet.getRange (7,2) .setValue (сума);
Това е двуфункционално изявление. Функцията getRange сочи към клетката на 7-ми ред и 2-ра колона. След това функцията setValue поставя стойността на променливата "sum" в тази клетка.
Сега, когато разбирате как работи всеки ред от кода, е време да видите всичко това в действие.
Запазване на вашия скрипт в Google
След като приключите с въвеждането на скрипта си в Google, е време да го запазите и да преминете през кода. Първо въведете „Без име на проект“, за да дадете името на проекта си. След това изберете иконата на дискета в менюто, за да запазите скрипта.

При опит за запазване може да видите грешка. Не изпадайте в паника. Това всъщност е част от процеса на отстраняване на грешки. Обърнете внимание на номера на линията, където пише, че имате грешка. Разгледайте внимателно кода си и разрешете грешките от грешка в грешка или синтаксис, които може да имате.

В този пример в моята верига „за“ от линия 8 липсваше отварящият символ „(“). След като бъде фиксиран, опитайте отново да запазите. След като можете да запазите кода си, Google счита синтаксиса на вашия код за добре.
Това не означава, че кодът ви ще се изпълнява по предназначение, а просто означава, че може да "компилира" добре, без проблеми със синтаксиса.
Стартиране на вашия Google Script
Сега изберете иконата за възпроизвеждане в горната част, за да преминете през кода си. Тъй като това е първият път, когато стартирате новия си скрипт, трябва да предоставите на приложението Google Script разрешение за достъп до вашата електронна таблица (данни) в профила си в Google. Изберете Преглед на разрешенията на изскачащия прозорец.

Ще трябва да влезете в профила си в Google. И тъй като това е персонализирано приложение, а не е регистрирано в Google, ще видите предупреждение, че приложението не е проверено. Изберете напреднал връзка и след това изберете Към Примерния скрипт на Google (опасен) продължавам.

На следващия екран ще трябва да изберете Позволява за да предоставите достъп на Google Script до вашия акаунт в Google. След като го направите, скриптът ще се изпълни.
Ако не виждате никакви грешки, превключете обратно към електронната таблица и ще видите, че резултатите от вашия скрипт са се появили в долната част на първата колона.

Писане на разширени скриптове на Google
Това беше много основен скрипт на Google, който просто добави клетките в една колона. Ако искате да добавите променливи към двата цикъла For в кода, можете също да прегледате всички колони и да предоставите обобщение в ред 7 за всички тях.
Google Scripts предлага всякакви възможности, например изпращане на имейл от електронна таблица. Можете дори да докоснете специални API на Google които ви позволяват да интегрирате други приложения на Google като Gmail, Календар и дори Google Analytics. След като започнете да научавате как да пишете скриптове на Google, възможностите са безкрайни.