галерея скриптов в гугл таблицах

Google Apps Script:
дрессированные коды

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

Пользовательское меню

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

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

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

Функция addItem добавляет элемент меню.

Автоматическое письмо после заполнения формы

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

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

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

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

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

Использование html-разметки в письме не обязательно, это всего лишь дополнительный атрибут.

Тескт письма разделен на блоки, помещенные в кавычки и соединенные оператором плюс (‘текст ‘ + ‘текст’). Это сделано для удобства чтения кода, чтобы обеспечить возможность переноса строк.
Так тоже правильно (‘текст текст’), но если перенести часть текста на следующую строку, не закрывая кавычки и не добавляя оператор плюс (+), то код не понимает, что продолжается текст и воспринимает перенесенную часть текста, как новую команду.

Поэтому перенос текстовых строк в коде выглядит так:
«текст текст текст » +
«текст текст»

Альтернативный равнозначный вариант кода выглядит так:
«текст текст текст текст текст»

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

Для того, чтобы добавить в письмо перенос строки, нужно в конце строки добавить тег
. Это мы уже плавно перешли к тегам html-разметки.

Источник

Скрипты для новичков. Часть 1 | @google_sheets

Привет! Открываем серию, в которой мы планируем вам показывать простые приёмы работы с Таблицей (и не только) скриптами, также будем слега касаться JS (языка, на основе которого написан Google Apps Script, язык, на котором мы пишем скрипты в Google Docs)

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

Обращаемся к Таблице, Листу, забираем данные

//определяем активную таблицу

const ss = SpreadsheetApp.getActive();

//определяем в ней Лист1

const sheet = ss.getSheetByName(‘Лист1’);

//определяем на Лист1 диапазон с данными и забираем его значения

const data = sheet.getDataRange().getValues();

//возвращаем эти значения

Запускаем функцию в редакторе скриптов – функция выводит в лог заполненные ячейки.

Помимо этого функция возвращает массив заполненных ячеек ( return data) и его можно использовать в другой функции, что нам пригодится дальше.

Что нам вообще возвращается

Функция возвращает несколько массивов (array) в массиве.

Строк с данными несколько, они отделены от друг-друга запятыми и объединены внешним массивом.

Если бы у вас было только две строки с данными по две ячейки в каждой, то эта конструкция выглядела бы так:

А ЕЩЕ наша функция сможет работать как пользовательская функция, её можно вызвать просто на листе, не запуская скрипт (смотрите скриншот)

Итак, у нас есть прекрасный массив с данными, как обращаться к нему, как посчитать количество строк с данными, как найти последнюю строку вообще, последнюю строку и выбранном столбце, последний столбец – мы разберёмся в следующей главе.

Источник

Cоветы и руководства по Google Таблицам

Мастер Google Таблиц с полезными советами и руководствами

Скрипты Google Таблиц 101 — руководство для начинающих

Хотя есть много замечательных вещей, которые вы можете сделать с помощью встроенных функций и возможностей в Google Таблицах. Но есть несколько вещей, которые либо невозможны по умолчанию, либо требуют, чтобы вы предприняли ряд шагов для их достижения.

С помощью скриптов Google Sheets вы можете автоматизировать многие вещи и даже создавать новые функции, которые, по вашему желанию, существовали.

В этой статье я расскажу об основах Google Apps Script с некоторыми простыми, но практичными примерами использования скриптов в Гугл Таблицах.

Что такое скрипт Google Apps (GAS)?

Скрипт Google Apps — это язык программирования, который позволяет вам создавать автоматизацию и функции для Google Apps (которые могут включать Google Таблицы, Google Документы, Google Формы, Диск, Карты, Календарь и т. Д.)

В этом руководстве (и на этом сайте) я сосредоточусь на использовании скрипта для Google Таблиц. Однако большую часть того, о чем я здесь расскажу, можно использовать и в других приложениях Google.

Этот язык кодирования Google Apps Script (GAS) использует Javascript и написан в серверной части этих Гугл Таблиц (есть аккуратный интерфейс, который позволяет вам писать или копировать / вставлять код в серверной части).

Поскольку Гугл Таблицы (и другие Google Apps) являются облачными (т. Е. Могут быть доступны из любого места), ваш скрипт Google Apps также является облачным. Это означает, что если вы создадите код для документа Google Sheets и сохраните его, вы сможете получить к нему доступ из любого места. Он находится не на вашем ноутбуке / системе, а на облачных серверах Google.

Что делает скрипт Google Apps полезным?

Есть много веских причин, по которым вы можете захотеть использовать скрипты Google Apps в Google Таблицах:

Позволяет автоматизировать работу

Предположим, вы регулярно загружаете данные из любого инструмента или базы данных и должны объединять и очищать их в Google Таблицах. Обычно очистка и объединение данных включает в себя ряд шагов.

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

И это то, что вы можете делать с помощью скрипта Google Apps.

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

Может создавать новые функции в Google Таблицах

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

Но в некоторых случаях вам могут понадобиться некоторые дополнительные функции, которые не могут быть достигнуты с помощью встроенной функции (или это может быть, но формула становится огромной и сложной).

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

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

Поскольку скрипт Google Apps является распространенным языком программирования для многих приложений Google, вы также можете использовать его для взаимодействия с другими приложениями.

Например, если у вас есть 10 документов Google Таблиц на вашем Google Диске, вы можете использовать GA, чтобы объединить все это, а затем удалить все эти документы Google Sheets.

Это возможно, потому что вы можете использовать GAS для работы с несколькими Google Apps.

Другим полезным примером этого может быть использование данных в Гугл-таблицах для быстрого планирования напоминаний в вашем Календаре Google. Поскольку оба этих приложения используют GAS, это возможно.

Расширьте функциональные возможности Google Таблиц

Помимо автоматизации вещей и создания функций, вы также можете использовать GAS для улучшения функциональности Google Таблиц.

Хотя Гугл Таблицы предоставляют множество функций для всех, вы также можете написать код, который больше подходит для ваших нужд. А поскольку вы можете повторно использовать код снова и снова, это делает вас намного более продуктивным и эффективным.

Начало работы с редактором скриптов Google Таблиц

Редактор скриптов — это место, где вы можете писать скрипты в Google Таблицах, а затем запускать их. Для разных приложений Google будет отдельный редактор сценариев. Например, в случае Google Forms будет «Редактор сценариев», в котором вы можете писать и выполнять код для форм Google.

Анатомия редактора скриптов Google Таблиц

В Google Таблицах вы можете найти редактор скриптов на вкладке «Инструменты».

галерея скриптов в гугл таблицах. ab4776eb65bfd3cf75fc3f5d65a3bd7b. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-ab4776eb65bfd3cf75fc3f5d65a3bd7b. картинка галерея скриптов в гугл таблицах. картинка ab4776eb65bfd3cf75fc3f5d65a3bd7b. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.После того, как вы нажмете на опцию «Редактор скриптов», откроется редактор скриптов в новом окне (как показано ниже).

галерея скриптов в гугл таблицах. 53cf50b01abae0e32bf6e7581e4dacde. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-53cf50b01abae0e32bf6e7581e4dacde. картинка галерея скриптов в гугл таблицах. картинка 53cf50b01abae0e32bf6e7581e4dacde. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.Вы можете изменить имя проекта, щелкнув в верхней левой части экрана с надписью «Проект без названия». Когда вы щелкаете по нему, откроется диалоговое окно, в котором вы можете ввести название проекта. Изменение имени займет несколько секунд.

галерея скриптов в гугл таблицах. a917bf1a012c47214095f612ea9c1584. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-a917bf1a012c47214095f612ea9c1584. картинка галерея скриптов в гугл таблицах. картинка a917bf1a012c47214095f612ea9c1584. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.В проекте сценария может быть несколько файлов сценария. Например, если у вас есть три разные вещи, которые вы хотите автоматизировать в Google Таблицах, и вы создаете для них три разных скрипта, у вас могут быть все три разных скрипта в одном файле проекта.

На левой панели проекта у вас есть файл сценария по умолчанию — Code.gs. В этом файле сценария вы можете писать код. В одном файле сценария может быть несколько сценариев, а также несколько файлов сценариев.

галерея скриптов в гугл таблицах. 73806ed8a5422f812e81ba2fa112f2e8. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-73806ed8a5422f812e81ba2fa112f2e8. картинка галерея скриптов в гугл таблицах. картинка 73806ed8a5422f812e81ba2fa112f2e8. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.Если вы щелкните маленькую направленную вниз стрелку справа от имени файла сценария, отобразятся варианты переименования, удаления и создания копии файла сценария.

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

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

В правой части файла сценария находится окно кода, в котором вы можете написать код.

галерея скриптов в гугл таблицах. 81c46d4745b70f50bbfb24a7ae38b9bc. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-81c46d4745b70f50bbfb24a7ae38b9bc. картинка галерея скриптов в гугл таблицах. картинка 81c46d4745b70f50bbfb24a7ae38b9bc. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.

Панель инструментов редактора скриптов

галерея скриптов в гугл таблицах. a71d0b9b75cb0d3f8c5eef0db881af00. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-a71d0b9b75cb0d3f8c5eef0db881af00. картинка галерея скриптов в гугл таблицах. картинка a71d0b9b75cb0d3f8c5eef0db881af00. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.Панель инструментов редактора скриптов имеет следующие параметры:

Параметры меню редактора скриптов

Помимо панели инструментов, есть много других опций, доступных в Google Apps Script в Google Таблицах.

Хотя наиболее часто используемые параметры уже являются частью панели инструментов, в меню есть еще несколько параметров, которые могут вам понадобиться, когда вы начнете работать с GAS.

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

В этой статье я рассмотрел основы скрипта Google Apps и общую анатомию интерфейса.

Источник

Как с помощью js и google sheets стать соседом Билла Гейтса по гольф клубу

галерея скриптов в гугл таблицах. g9nhdo f7en 3uf3tmupt orzai. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-g9nhdo f7en 3uf3tmupt orzai. картинка галерея скриптов в гугл таблицах. картинка g9nhdo f7en 3uf3tmupt orzai. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.

В последнее время на хабре стали появляться статьи, начинающиеся с рассказов про свободное время на самоизоляции и, как итог, появившихся троллейбусов из буханки. Возможно, администрации стоит задуматься о добавлении нового хаба — Самоизоляция..

Вот и у меня появилось свободное время, которое я посвятил анализу своих сделок в Тинькофф Инвестициях. Есть 2 типа людей: одни прекрасно строят многомерные массивы у себя в голове, пробегаясь по ним for-циклом в IPython Notebook, другим же нравится «щупать» цифры, раскладывая их по полочкам в Excel. Себя я отношу ко второй категории, поэтому все свои сделки аккуратно заносил в Google Sheets.

Под катом я расскажу, как автоматизировал свою рутину при помощи Google Apps Script и API от Тинькофф Инвестиций.

Перед тем как мы перейдём к сути, маленький словарик терминов, которыми я пользуюсь в статье:

Задача

У каждого инвестора или трейдера есть свой особый способ вести аналитику сделок. Кому-то достаточно тех инструментов, которые предоставляет брокер — дэшборд в личном кабинете или еженедельные отчёты. Мой способ такой: я веду отдельную таблицу по каждому инструменту, которым торгую. В этих таблицах я рассчитываю прибыль/убыток, определяю стратегию будущих сделок и всячески учусь на своих ошибках.

Какое-то время я заносил сделки вручную, перепечатывая их из мобильного приложения ТИ. Мне захотелось оптимизировать этот процесс. В поисках решения я наткнулся на статью хабраюзера OvkHabr. Из неё я узнал, что брокер предоставляет API, который полностью покрывает мои нужды и принялся за разработку.

Google Apps Script

галерея скриптов в гугл таблицах. image loader. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-image loader. картинка галерея скриптов в гугл таблицах. картинка image loader. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.

OpenAPI

Методы взаимодействия с ТИ реализованы с помощью OpenAPI, а сама документация представлена через swagger-ui

Авторизация представляет собой http-заголовок с токеном, который нужно посылать при каждом запросе. Процедура получение токена описана в ещё одной документации.

Для начала нужно набросать простенький клиент для http походов в ТИ.
Какие методы нам понадобятся?

Сделаем клиент классом, чтобы потом создать его единственный экземпляр и обращаться во всём верхнеуровневом коде:

Получение цены инструмента

Custom Functions

Давайте сделаем функцию getPriceByTicker, которая будет возвращать текущую цену инструмента. Её мы будем использовать в качестве формулы в любой ячейке ( =getPriceByTicker(«YNDX») ).

Для этого нам сначала нужно получить figi инструмента, а потом получить его стакан, из которого мы и вытащим цену:

галерея скриптов в гугл таблицах. image loader. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-image loader. картинка галерея скриптов в гугл таблицах. картинка image loader. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.

Здорово! Теперь в нашем распоряжении есть отличный тул, при помощи которого мы можем получать текущую цену акции, и использовать её в расчётах.

Автообновление формулы

Для того, чтобы данные в таблице всегда были актуальными, хочется сделать эту формулу автообновляемой. Прямого способа сделать это нет, но GAS комьюнити придумало вот такой хак:

Cache Service

Как мы видим, получая цену мы делаем аж 2 API-вызова. И если в случае похода за стаканом это оправдано, так как цена постоянно меняется, то figi у инструмента является константой. Чтобы сделать нашу формулу чуть быстрее и надёжней, воспользуемся Apps Script Cache Service. Это простое key-value хранилище, которое отлично справится с нашей задачей:

Получение списка сделок

Взвешенное среднее

Исходя из документации, объект Operation возвращается нам в виде:

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

Для нашего примера с яндексом, взвешенное среднее считается так

галерея скриптов в гугл таблицах. 3e5e159c2d3b1dd9453ab46a3d6caf11. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-3e5e159c2d3b1dd9453ab46a3d6caf11. картинка галерея скриптов в гугл таблицах. картинка 3e5e159c2d3b1dd9453ab46a3d6caf11. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.

А в коде это будет выглядеть так

Работа с таблицей

Как было описано выше, если custom функция возвращает двумерный массив, данные займут всё необходимое свободное пространство под ячейкой с формулой. Соответственно, нам необходимо сформировать такой массив.

Мы будем итерироваться по операциям и биржевым сделкам, чтобы этот массив заполнить. Нас не интересуют отменённые операции, а также операции списания комиссии, но интересует само значение комиссии. Помимо этого, мы «на лету» будем присваивать минус операциям покупки (символизируя списание с нашего брокерского счёта) и плюс продажам. Таким образом, нам будет проще понимать текущую стоимость позиции (просто просуммировав столбец)

Остаётся только вернуть массив values. Итоговый код функции выглядит так:

Проверяем работу в бою:

галерея скриптов в гугл таблицах. image loader. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-image loader. картинка галерея скриптов в гугл таблицах. картинка image loader. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.

Заключение

В рамках статьи мы познакомились с API Тинькофф Инвестиций, возможностями, которые предлагает Google Apps Script, а также решили задачу автоматизации заполнения Google Sheets реальными сделками с брокерского счёта. Надеюсь, вам было интересно)

Весь код и короткий how-to выложен на github

Для тех читателей, кто хочет вступить на дорогу инвестирования, но не знает с чего начать — могу посоветовать бесплатный курс от Тинькофф Журнала https://journal.tinkoff.ru/pro/invest/ — он короткий, информативный и доходчивый.

А при открытии брокерского счёта в ТИ по моей ссылке вы получите акцию стоимостью до 20000 рублей в подарок.

Источник

Google Docs, Google Drive, Google Scripts: как писать скрипты, макросы и код — часть 0

галерея скриптов в гугл таблицах. clip 2016 10 28 15 27 28 06538508. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-clip 2016 10 28 15 27 28 06538508. картинка галерея скриптов в гугл таблицах. картинка clip 2016 10 28 15 27 28 06538508. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.

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

Те, кто пользуется диском Google (Google Drive ), наверное уже использовали Таблицы (Spreadsheets ) и заметили, что по функционалу они немного уступают Экселю, но тем не менее это всё ещё мощный инструмент.

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

Соберитесь в комочек мозга.. И приступим 🙂

Создание таблицы Google Drive / Scripts и наполнение её контентом

Рассмотрим такую простенькую задачку:
У нас есть две колонки, в первой мы пишем названия фруктов, а во второй цвет, который соответствует этому фрукту. И мы хотим, чтобы при вводе цвета в колонке цветов автоматически менялся бы цвет названия фрукта.

Теперь добавляем на первый лист наши фрукты и цвета:

галерея скриптов в гугл таблицах. 1366466678 1362578089 clip 5kb 5kb. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-1366466678 1362578089 clip 5kb 5kb. картинка галерея скриптов в гугл таблицах. картинка 1366466678 1362578089 clip 5kb 5kb. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.

Примечание! Для того, чтобы считались фрукты, введите в ячейку А1 формулу:

Теперь создадим макрос. Для этого идем в меню » Инструменты » и выбираем » Управление скриптами «. Появится всплывающее меню, где мы жмем на кнопку » Создать «.

галерея скриптов в гугл таблицах. 1366466715 1362578421 clip 34kb 34kb. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-1366466715 1362578421 clip 34kb 34kb. картинка галерея скриптов в гугл таблицах. картинка 1366466715 1362578421 clip 34kb 34kb. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.

В появившемся окошке выбираем » Пустой проект «.

галерея скриптов в гугл таблицах. 1366466741 1362578745 clip 14kb 14kb. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-1366466741 1362578745 clip 14kb 14kb. картинка галерея скриптов в гугл таблицах. картинка 1366466741 1362578745 clip 14kb 14kb. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.

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

галерея скриптов в гугл таблицах. 1366466768 1362578834 clip 9kb 9kb. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-1366466768 1362578834 clip 9kb 9kb. картинка галерея скриптов в гугл таблицах. картинка 1366466768 1362578834 clip 9kb 9kb. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.

Собственно, что дальше? А дальше мы начинаем писать наш собственный макрос ручками (да, всё самостоятельно). Как будет выглядеть наш макрос? Нужно составить схемку сего процесса (иначе этот процесс займет у Вас очень много времени).

Итак.. Вроде бы всё просто.. Если знать, как это делать, конечно 🙂

шКоддинг

Перейдем к самому коду:

Теперь я постараюсь Вам его объяснить. Функция onOpen добавляет меню » Скрипты » к таблице при открытии оной. И выглядит это дело так:

галерея скриптов в гугл таблицах. 1366466808 1363001996 clip 5kb 5kb. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-1366466808 1363001996 clip 5kb 5kb. картинка галерея скриптов в гугл таблицах. картинка 1366466808 1363001996 clip 5kb 5kb. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.

Эта строчка добавляет в переменную sheet идентификатор открытого нами документа, чтобы потом по нему обращаться к документу.

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

Этот метод добавляет к нашему документу меню » Скрипты «.

Функция MakeMeHappy, собственно, и будет нашей главной функцией, которая красит фрукты.
Сначала я объявляю переменные:

Соответственно, в переменной sheet находится идентификатор нашего документа. В переменной range находится выделенная нами область (например, ячейки B2:B6 ), в переменной data находятся значения этих ячеек в виде массива.

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

В этом цикле мы проходимся по каждой ячейке из диапазона B2:B

..Будет эквивалентно функции:

Методы setFontColor и setBackgroundColor задают цвета текста и фона в виде #rrggbb (r-red, g-green, b-blue, диапазоны цветов) соответственно.

В общем-то на этом всё. Но не совсем.

Скрипты и макросы таблиц Google, дополнение

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

Они будут приходить в случае, если скрипт выполнялся с ошибками.

галерея скриптов в гугл таблицах. 1366466840 1362998687 clip 27kb 27kb. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-1366466840 1362998687 clip 27kb 27kb. картинка галерея скриптов в гугл таблицах. картинка 1366466840 1362998687 clip 27kb 27kb. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.

Конечный результат действа:

галерея скриптов в гугл таблицах. 1366466863 1363020148 clip 8kb 8kb. галерея скриптов в гугл таблицах фото. галерея скриптов в гугл таблицах-1366466863 1363020148 clip 8kb 8kb. картинка галерея скриптов в гугл таблицах. картинка 1366466863 1363020148 clip 8kb 8kb. Функция onOpen является простым триггером. Выполняется при открытии документа. Авторизация пользователя для запуска этой функции не требуется, поэтому возможности её ограничены лишь несколькими действиями.В частности, для onOpen доступно создание пользовательского меню документа, таблицы, слайдов и форм в контейнерном скрипте.

Послесловие

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

Продолжения раз-два-готовим и три. Ну и комментарии конечно содержат много вкусного.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *