К основному контенту

Сообщения

Как создать чекбокс программно

Пока не удалось в оригинальном билдере SpreadsheetApp найти конструктор для галочек Logger.log(JSON.stringify( Object.keys(SpreadsheetApp.newDataValidation()).sort(), null, "  " )); Поэтому придется воспользоваться расширенной службой Google Sheets. Как включить эту ботву, можно прочитать в статье " Расширенные службы Google ". Суть: Создаем объект-ресурс, его заполняем запросами. Конструкция запроса на назначение валидации данных довольно проста:  Указываем диапазон Задаем правило и его параметры. Далее вызываем стандартный метод выполнения пакета запросов из ресурса.

Google Apps Script против JavaScript

Общие данные Google Apps Script основаны на JavaScript 1.6 , плюс несколько функций от 1.7 и 1.8 . Таким образом, многие базовые функции JavaScript доступны в дополнение к встроенным и расширенным службам Google ; вы можете использовать основные объекты, такие как Array , Date , RegExp и т.д. , а также глобальные объекты Math и Object . Однако, поскольку код Apps Script работает на серверах Google (а не на стороне клиента, за исключением страниц HTML-сервиса ), функции на основе браузера, такие как манипуляции с DOM или API windows, недоступны. Вообще принято называть скрипты диалектом JavaScript. Полифил Из вышесказанного следует, что к скриптам можно применить технику использования полифилов. Например, метод Math.trunc() (отбрасывает десятичную запятую и все цифры после неё, не обращая внимания на знак аргумента) поддерживается в более новых версиях JS и в GS его нет. Добавьте следующий файл в ваш проект и все будет ок В документации MDN часто встресаются полифилы с...

Триггеры Google Apps Script

Все триггеры в скриптах делятся по виду события, типу установки и области применения. Области применения Таблицы Формы Документы Сайты Автономные скрипты  События Open - происходит при открытии файла в приложении Гугл. Например, Формы создают это событие только при открытии в режиме редактирвоания. Edit - происходит при завершении ввода данных в ячейку Таблицы пользователем. Только Таблицы. Только пользователем. Install - автоматически вызывается при установке дополнения. Change - возникает при других (не изменение данных ячейки, например, назначение цвета или ширины колонки) изменених Таблицы вызванных пользователем. Только Таблицы. Только пользователем. Form submit - исполнится только тогда, когда придет ответ от респондента Формы. Time-driven - отложенный триггер действия, срабатывающий по истечении времени Get - событие отрабатывающее get-запросы к веб-приложению Post - событие отрабатывающее post-запросы к веб-приложению Типы установок Simple ...

Копирование правил условного форматирования

Необходимо получить правило Далее через метод copy() получить ссылку на билдер Задать параметры билдера и собрать его Применить правила для нового диапазона Пример

Расширенные службы Google

Расширенные службы Google Расширенные службы в Apps Script позволяют опытным разработчикам подключаться к определенным общедоступным API Google через более простые надстройки, чем использовать HTTP-интерфейсы представленные в языке. Расширенные службы - это, по сути, тонкие обертки вокруг этих API Google. Они работают так же, как встроенные сервисы Apps Script , например, они предоставляют автозаполнение, а приложение Script Script автоматически обрабатывает поток авторизации . Однако вы должны включить расширенную службу в консоли разработчика , прежде чем спользовать ее в скрипте. Чтобы узнать, какие API-интерфейсы Google доступны в качестве расширенных служб, ознакомьтесь с разделом «Расширенные службы Google» справочника . Если вы хотите использовать Google API, который недоступен в качестве расширенной службы, просто подключитесь к нему, как и к любому другому внешнему API. Расширенные службы или HTTP? Каждая из расширенных служб Google связана с общедоступным API Goog...

Обновление Формы при отправке

Формы Google не являются динамическими. Никакой связи с сервером они не держат, поэтому ничего "подтягивать" они не будут. Но иногда случаются задачи, которые могут быть решены с помощью возможности редактирвоания Формы. Триггер отправки Формы запускает цепочку изменений. Совсем как в дополнениии "Other Etc" . Пример Небольшое приложение, которое открывает Таблицу и читает значение диапазона по адресу Обработка триггера отправки Формы и изменение Формы Как это все работает? Создается проект скрипта в Форме или в Таблице . Регистрируется триггер отправки Формы для функции onFormSubmit . В данном примере это сделано в Форме. При срабатывании триггера , открывается Таблица, к которой привязана Форма и оттуда берется указанное в настройках значение. Для текущего примера это значение общей суммы всех чисел внесенных через Форму. Как только значение получено, обновляется описание Формы - выводится новая сумма для последующих респондентов. Loadin...

Удаление строк по условию

Часто возникает задача удаления строк из Таблицы Google по какому-либо условию. Разнообразие условий так велико, что порой приходится создавать метод "удаления строк" снова и снова. Довольно утомительно. Для простых офсных скриптов можно применить сниппет, описанный ниже. Основная идея заключается в том, чтобы взять весь массив данных и перебрать его в обратном порядке. При переборе каждая строка передается в функцию обратного вызова, которая принимет решение удалить строку или нет. Для оптимизации количество последовательных строк суммируется, и для удаления применяется метод deleteRows(rowPosition, howMany) класса Sheet В примере ниже скрипт удаляет строки автивного листа, в которых ячейки из диапазона D27:D77 и F27:F77 попарно пустые