гуглтаблицы js скрипт Google Apps Script

Из VBA в JS

Apps Script не запускается в браузере, он не имеет доступа к специфическим для клиента объектам, таким как DOM и Window API.Apps Script — это серверный ECMAScript.

выбор JavaScript в качестве языка скрипта приложений был мудрым выбором не только потому, что он широко известен, но и потому, что расширения службы HTML (которые позволяют взаимодействовать на стороне клиента из скрипта приложений и запускаться в браузере) являются стандартными. веб-приложения с компонентами HTML и JavaScript.

Процесс может быть запущен максимум за шесть минут, при этом существует различная скорость и лимиты квот на то, что вы можете сделать с каждой услугой.
Пределы тарифов
Например, если вы создаете и публикуете веб-приложение Apps Script, оно не будет работать, если вы попытаетесь выполнить его более 30 раз в секунду — даже если это единственный раз, когда вы вызываете его в течение дня.
Ограничения квот
Квотное ограничение — это ограничение общего числа операций в течение определенного периода времени. Например, вы не можете отправлять письма более чем 100 различным получателям в течение одного дня. Хотя необходимость в таких ограничениях очевидна, они будут незнакомы тем, кто привык к VBA, и построение схем (например, сон между вызовами сервиса или использование экспоненциального отступления для запросов) для преодоления этих препятствий может быть очень разочаровывающим и сложным делом.

Асинхроничность
В скрипте Apps Script каждая операция блокируется. Нет асинхронии, даже для операций извлечения. К этому трудно привыкнуть, если вы пришли из обычной JavaScript-среды, в которой укоренилась асинхронность и событийно-ориентированное поведение. Для тех, кто приходит с VBA, это будет не столько культурный шок.
События
В Apps Script есть только несколько обрабатываемых событий, наиболее полезная из которых связана с включением определения изменений в данных листов. Как и отсутствие асинхроничности, это будет разочаровывать пользователей, уже владеющих JavaScript, и большим упущением для тех, кто привык к обширному портфолио VBA по взаимодействию с событиями.
Триггеры
Одной из убийственных особенностей Apps Script является то, что он позволяет планировать и запускать скрипты без входа в систему. Это означает, что вы можете, скажем, запускать регулярные отчеты или суммировать данные каждый час или в 5 утра. Такие запланированные события называются триггерами по времени. Существуют жесткие квоты на количество триггеров, которые вы можете иметь, и на то, сколько ежедневного времени они потребляют, что снижает их полезность и увеличивает сложность, так как количество обходных путей, которые вам нужно создать, увеличивается с увеличением количества триггеров, которые у вас есть.

Веб-приложения
Еще одна киллерская функция — это веб-приложение. Вы можете опубликовать веб-приложение с помощью сервиса HTML (для обслуживания веб-страниц, генерируемых вашим приложением) или сервиса контента (для обслуживания данных из вашего приложения). Эти веб-приложения могут обслуживать как GET, так и POST-запросы, выполняя функции сервера Apps Script, и обеспечивают удобный способ для приложений, не относящихся к Apps Script, получить доступ к ресурсам документации, эффективно превращая Apps Script в веб-сервер или REST.
Сервер запросов.
Поскольку эти веб-приложения работают на стороне сервера, получение данных с серверов на разных доменах не наталкивается на одни и те же ограничения по перекрестному запросу, с которыми обычно сталкиваются
Что такое Apps Script? JavaScript на базе клиента, и вы даже можете использовать веб-приложение Apps Script в качестве прокси-сервера для получения данных, которые в противном случае не могли бы быть получены из вашего клиентского приложения. С точки зрения VBA, это немного похоже на разницу между использованием объекта xmlHttp (который подвержен клиентским ограничениям, похожим на JavaScript-приложение, запущенное в браузере) и объектом serverXmlHttp (похожим на Apps Script, запущенный на сервере Google).

Поддерживаемость
Предыдущие версии скриптов поддерживаются для резервного копирования, и существует обширная библиотечная система, которую можно использовать для обмена общим кодом между приложениями.
Вы можете создавать как отдельные скрипты, так и скрипты, привязанные к контейнерам, последний из которых находится в определенном документе, из которого явно сложнее обмениваться кодом. По этой причине я склонен придерживаться автономных скриптов.
Если вы пишете пользовательские скрипты (т.е. скрипт, доступный из формулы в ячейке электронной таблицы), то это можно сделать только из скриптов, привязанных к контейнерам, что может привести к такому разрастанию кода, которое вы видите на VBA. Аналогично, шаблоны, предназначенные для использования HTML-сервисом, также должны быть локальными (хотя есть способы обойти это использование библиотек), что опять же может привести к разрастанию кода.

Оставить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.