Post is pinned.Post has attachment
Делитесь и неделимы будете
http://bit.ly/googlescriptru
http://bit.ly/rugsstart
http://bit.ly/rudrive
Основной чат https://hangouts.google.com/group/EElHyjA3Bovowno22

Что есть GS?
http://ru.stackoverflow.com/tags/google-apps-script/info

Как выучить?
Проекты, которые требуют поддержки и развития:
- Книга https://www.gitbook.com/book/nyrkvinabi/googleappsscriptstartru
- Дополнение URL Shortener https://github.com/nyrkvinabi/urlshorteneraddon
- SO Documentation http://goo.gl/pP6vPk

Опросы
Быть или не быть?
https://plus.google.com/+AlexanderIvanov/posts/e8s7caYudvE

Ссылки
В чем разница между аутентификацией и авторизацией?
https://goo.gl/GnE5sO

Post has attachment
Помню, где-то было расширение для форматирования редактора, но оно плохо поддерживается. Всегда можно запилить свой стиль

Post has attachment
Ребята, подскажите как реализовать переход на стороннюю страницу "спасибо" при заполнении пошаговой Google Form? (по возможности готовый код)

Photo

Друзья, очень ГОРИТ одна задачка!

Есть скрипт, который переносит значения с одного листа на другой (как копировать-вставить).

Необходим скрипт, который скопирует конкретные ячейки, например:
C7 и С11 на листе "Источник" и вставит только значения в C7 и С11 на листе "Целевой".

Мне нужно скопировать конкретную ячейку и вставить значение в конкретную ячейку на другом конкретном листе.

Благодарю за помощь с приведённым скриптом +Сергей Генрих

https://docs.google.com/spreadsheets/d/15jD0aZFrFPQmgZtynRC5SX3P-5KN0EWS3lhSRnEZ2yI/edit?usp=sharing

}
function perenos () {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var dates = sheet.getSheetValues(4, 2, 56, 2);
var sheet = ss.getSheets()[1];
var range2 = sheet.getRange(4,2,56,2);
range2.setValues(dates);
}

Post has attachment
Господа, помогите пожалуйста заменить 4 маленьких формулы на скрипт.

C36 =ГПР(C37;'ОТСЮДА'!$F$25:$F$28;1)
C37 =ВПР(B37;'ОТСЮДА'!$E$5:$F$52;2)
C38 =ВПР(B38;'ОТСЮДА'!$E$5:$F$52;2)
C39 =ВПР(B39;'ОТСЮДА'!$E$5:$F$52;2)

https://docs.google.com/spreadsheets/d/1fNciHpbyF8y8nkzQK3515Ed4or8LZg8PyHBEvNM0GD0/edit?usp=sharing

Доброго здравия участникам!
Пытаюсь заставить показывать emails залогиненных редакторов в первом столбце отредактированной строки:

function Editor() {
ScriptApp.newTrigger('onEdit').forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet()).onEdit().create()
}

function onEdit(e){
var range = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data').getActiveRange(); // Получаем активный диапазон
var a = range.getRow(); // Адрес строки активной ячейки
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data').getRange(a,45).setValues([[new Date()]]); // Заполняем текущую дату
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data').getRange(a,1).setValues([[Session.getEffectiveUser().getEmail()]]); // Заполняем редактора
}

Естественно, скрипт заполняет email владельца скрипта.
G Suite у меня нет.
Вроде бы надо разворачивать приложение с запуском от пользователя, но как и будет ли это работать как мне надо? Надо ли тут использовать getActiveUser?

Здравствуйте! Прошу помощи сообщества.

1. Необходимо выбрать в на текущем листе все строки, для которых в 8м столбце H есть значение Yes:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
// фильтр H = "Yes"
// var data = getValues отвечающие этому условию

2. Для этого отфильтрованного массива нужно провести подстановку значений в соответствующие места в шаблоне документа:
for (var i in data){
var row = data[i];
var docid = DriveApp.getFileById(templateid).makeCopy().getId();
var doc = DocumentApp.openById(docid);
var body = doc.getActiveSection();
body.replaceText("%FIRST%", row[6]);
body.replaceText("%SECOND%", row[8]);
body.replaceText("%THIRD%", row[12]);
doc.saveAndClose();
И нужно чтобы текст для следующей итерации вносился на основе данных следующей строки - а сейчас текст вносится только на основе данных первой строки выбранного диапазона.

Post has attachment

Здравствуйте. Помогите советом, направьте куда обратиться.
Имеется лист1 в гугл таблице. Состоит из, к примеру, 15 столбцов. Необходимо создать кнопку печать, чтобы при нажатии на неё выходил в печать лист2 (с определенной формой) и на этом листе были заполнены данные из той строки, на которой находится курсор в таблице1.

Вторая задача. Этим документом пользуется определенное количество пользователей и он открыт для чтения всем по ссылке. Можно ли как-то вообще закрыть листы 1 и 2, чтобы обычные читатели ("всем у кого есть ссылка") их не могли видеть, а могли только редакторы.

Прошу помощи, в таблицах не силен, имел опыт с макросами на VBA. Как тут это реализовать не представляю. Спасибо.

Post has shared content
Несколько вопросов про GS
Возможно ли назначить рисунку в гугл-таблицах скрипт из другого файла (файла скриптов или файла таблиц находящихся на этом же диске)
Как на скрипт назначить комбинацию клавиш?
Wait while more posts are being loaded