Примеры в этом посте требуют запуска надстройки Alpha Vantage Market Data.



Здесь мы опишем странность Google Sheets и способы ее решения. В частности, нет возможности пересчитать электронную таблицу в Google Sheets. Ввод F2 не работает. Нет функциональной клавиши F9 для пересчета. Не утруждайте себя повторным вводом аргумента, поскольку, если значение не изменяется, функция не возвращает результат.

Что ж, наш обходной путь — добавить фиктивный аргумент в функции Alpha Vantage для принудительного пересчета. Этот аргумент всегда является последним в функции. Для нашего примера функция help выглядит так:

Чтобы реализовать функцию пересчета, мы сначала выберем ячейку для удержания триггера пересчета. Для удобства назовем эту ячейку RECALC_TRIGGER.

Далее нам нужно создать функцию для увеличения триггера. Открываем редактор скриптов

Мы будем использовать его для создания нашей функции

Важно отметить, что при первом запуске этой функции вам будет предложено подтвердить ее разрешение на это. Это не имеет большого значения, так как вы просто разрешаете вашей функции изменять вашу электронную таблицу.

Для целей этого урока мы покажем, как создать два удобных способа вызова этой функции. Первый способ — создать меню с записью для вызова функции. Мы добавим следующий код в начало Code.gs

Эта функция добавит меню под названием Alpha Vantage Demo с пунктом под названием «Пересчет триггера».

Вам придется обновить электронную таблицу в браузере, чтобы появилось это меню.

Мы также можем создать кнопку. Перейдите в Вставка->Рисование в меню электронной таблицы и нарисуйте кнопку. Затем сохраните свою работу и перетащите ее в нужную часть электронной таблицы. Щелкните правой кнопкой мыши, чтобы отредактировать кнопку. Вы увидите три точки в правом верхнем углу кнопки, где скрывается меню.

Меню выглядит так

Выберите «Назначить сценарий» и введите «incrementTrigger».

Теперь вернитесь к исходной функции и добавьте триггер re-calc.

Здесь мы опустили аргумент для opt_outputsize, так как нас устраивают значения по умолчанию.

Теперь вы можете обновить свой Google Sheet в любое время, нажав кнопку Re-calc или выбрав «Trigger Recalc» в демонстрационном меню Alpha Vantage.

Попробуйте!