var ss = SpreadsheetApp.openByUrl ( 'https://docs.google.com/spreadsheets/d/abc1234567/edit');
Logger.log ( ss.getName ( ) );
var ss = SpreadsheetApp.openById ( "1bwOBqlm4RJgLLlftChrOTcZgDlZrvjA9fddybkgrto8" );
Logger.log (ss.getName ( ) );
//например, получить URL адрес текущей таблицы
SpreadsheetApp.getActive ( ).getUrl ( );
SpreadsheetApp.getActiveSpreadsheet ( ).getUrl ( );
var sheet = SpreadsheetApp.getActiveSpreadsheet ( ) .getSheetByName ( "Лист2" )
var sheet = SpreadsheetApp.getActiveSpreadsheet ( ). getActiveSheet ( );
//напрямую без указания таблицы тоже можно:
var sheet = SpreadsheetApp.getActiveSheet ( );
var sheets = SpreadsheetApp.getActiveSpreadsheet ( ) .getSheets ( ) ;
Logger.log (sheets [0].getName ( ) ); //Лист1
function showRange () {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange(1, 2, 3, 2);
var values = range.getValues();
// Напечатать в журнал значения из диапазона с помощью цикла
for (var row in values) {
for (var col in values[row]) {
Logger.log(values[row][col]);
}
}
}
var range = sheet.getRange('B1:C3').getValues ( );
var row = 3;
var cell = sheet.getRange( `D${row}` ).getValue ( );
var color = SpreadsheetApp.getActiveRange().getBackgroundColor();
SpreadsheetApp.openById('16tBD3fhiKUFI1mqEyorn6ZqXm0OU3frjLcN8veNiZPg').getActiveRange ( );
function showColumn (){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[1];
var range = sheet.getRange(2, 2, 5);
var values = range.getValues();
for (var row in values) {
for (var col in values[row]) {
Logger.log(values[row][col]);
}
}
}
var range = sheet.getRange('B:B').getValues ( );
function showRow (){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[1];
var range = sheet.getRange(4, 1, 1,3);
var values = range.getValues();
for (var row in values) {
for (var col in values[row]) {
Logger.log(values[row][col]);
}
}
}
var range = sheet.getRange('4:4').getValues ( );
//из таблицы контейнерного скрипта получить лист с индексом 1 (это второй лист)
var sheet = SpreadsheetApp.getActive().getSheets()[1];
//из ячейки по адресу: РЯД 3 СТОЛБЕЦ 4 получить значение
var cell = sheet.getRange (3, 4) .getValue ( ) ;
var cell = sheet.getRange( 'D3' ).getValue ( );
var row = 3;
var cell = sheet.getRange( `D${row}` ).getValue ( );
var number = SpreadsheetApp.getCurrentCell ( ).getValue ( );
SpreadsheetApp.openById('16tBD3fhiKUFI1mqEyorn6ZqXm0OU3frjLcN8veNiZPg').getActiveCell().getValue();
//Текущая Гугл Таблица записана в переменную:
var ss = SpreadsheetApp.getActiveSpreadsheet();
//Лист с именем "Лист1" записан в переменную:
var sheet = ss.getSheetByName("Лист1");
//Диапазон A1:B4 записан в переменную:
var range = sheet.getRange('A1:B4');
SpreadsheetApp.getActiveSheet ( );
//или
SpreadsheetApp.getActiveRange ( );
SpreadsheetApp.getCurrentCell ( );
//для независимого скрипта требуется обязательное обращение к таблице по ID или URL
SpreadsheetApp.openByUrl ( 'URL' ).getActiveCell ( );
//или
SpreadsheetApp.openById ( 'ID' ).getSheetByName ( 'name').getRange ( );
MailApp.sendEmail(recipient, subject, body)
function myMail() {
MailApp.sendEmail("test@test.ru", "лови письмо из гугл таблицы",
"еее! Всё получилось!!!")
}
CalendarApp.getCalendarById("ID").createEvent(title, startTime, endTime)
function CalendarEvent(){
var ss = SpreadsheetApp.getActiveSpreadsheet(),
sheet = ss.getSheetByName('Лист2'),
title = sheet.getRange('A2').getValue(),
startTime = sheet.getRange('B2').getValue(),
endTime = sheet.getRange('C2').getValue();
CalendarApp.getCalendarById("ID").createEvent(title, startTime, endTime);
}
sheet.createTextFinder(findText).findNext()
//Создаем поисковый запрос со значением текущего менеджера
var textFinder = sheet.createTextFinder(currentManager);
//Запускаем поисковый запрос с помощью встроенной функции findNext() и полученное значение записываем в переменную
//Функцию можно запускать без условий, так как поисковый запрос точно не пустой
var firstOccurrence = textFinder.findNext();
LanguageApp.translate(text, sourceLanguage, targetLanguage)
function translate (){
var arabic = LanguageApp.translate('Привет', 'ru', 'ar');
Logger.log(arabic);
}
// مرحبا
function alertSpreadsheet () {
SpreadsheetApp.getUi().alert("Привет! Это сообщение выведено с помощью функции alert")
}
function CheckMyEmail() {
var email = Session.getActiveUser().getEmail()
Logger.log('Твой email: ' + email)
}
function todayNow () {
var today = Date ();
Logger.log(today)
}
//Tue Dec 29 2020 17:53:43 GMT+0300 (Москва, стандартное время)
function todayNow2() {
var today = new Date().toLocaleString('ru');
Logger.log(today)
}
//29.12.2020, 18:06:08
function yesterday (){
var MILLIS_PER_DAY = 1000 * 60 * 60 * 24;
var now = new Date();
var yesterday = new Date(now.getTime() - MILLIS_PER_DAY);
Logger.log(yesterday)
}
//Mon Dec 28 18:02:23 GMT+03:00 2020
function onEdit(e) {
var range = e.range;
range.setNote('Последнее изменение: ' + new Date().toLocaleString('ru'))
}
function onEdit(e) {
var range = e.range;
if (range.getColumn() == '2')
{range.setNote('Последнее изменение: ' + new Date().toLocaleString('ru'))
}
}
function onEdit(e) {
// Это контейнерный скрипт:
// e = SpreadsheetApp.getActiveRange()
var range = e.range,
row = range.getRow(),
column = range.getColumn();
range.offset(0, 1).setValue(new Date().toLocaleString('ru'))
}
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('МОЁ МЕНЮ')
.addItem('Запустить функцию 1', 'myFunction1')
.addSeparator()
.addItem( 'Запустить функцию 2', 'myFunction2')
.addToUi();
}
function onOpen() {
var ui = DocumentApp.getUi();
// или SpreadsheetApp или FormApp.
ui.createMenu('ПОЛЬЗОВАТЕЛЬСКОЕ МЕНЮ')
.addItem('Пункт меню1', 'function1')
.addItem('Пункт меню2', 'function2')
.addSeparator()
.addSubMenu(ui.createMenu('Подменю')
.addItem('Пункт подменю 1', 'function3')
.addItem('Пункт подменю 2', 'function4'))
.addToUi();
}
function createTimeDrivenTrigger() {
// Триггер сработает каждое утро в 09:00.
ScriptApp.newTrigger('myFunction')
.timeBased()
.onWeekDay(ScriptApp.WeekDay.MONDAY)
.atHour(9)
.create();
}
//Пользовательская функция для встроенного скрипта "Перевод километров в морские мили"
//Комментарий ниже является аннотацией для создания подсказок
/**
* Функция переводит километры в морские мили.
*
* @param {number} kilometers километры.
* @return {number} nauticalMiles морские мили.
* @customfunction
*/
function kilometersToNauticalMiles ( kilometers ) {
var nauticalMiles = kilometers/1.8522;
return nauticalMiles
}