Чтобы помочь тем кто заинтересуется программированием "под ячейки", предлагаю тут простой "урок" по созданию скриптов для Google Spreadsheet.
Создаём скрипт
Надеюсь, у вас уже есть Google аккаунт. Входим в свой Google Drive, создаём новы документ Google Spreadsheet. Выбираем в меню нашего нового документа "Инструменты"->"Редактор скриптов" и получаем окно, где можно собственно приступить к программированию.
Язык написания кода: JavaScript, а модель с которой можно работать включает в себя листы, ячейки, диапазоны и окна ввода-вывода для взаимодействия с пользователем.
Пишем код
function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var first = Browser.inputBox("First value"); sheet.getRange("A1").setValue("First value:"); sheet.getRange("B1").setValue(first); var next = Browser.inputBox("Next value"); sheet.getRange("A2").setValue("Next value:"); sheet.getRange("B2").setValue(next); var result = sheet.getRange("B1").getValue() + sheet.getRange("B2").getValue(); sheet.getRange("A3").setValue("Result:"); sheet.getRange("B3").setValue(result); Browser.msgBox("Summ is: " + result); }
Тут всё достаточно просто: Объект SpreadshettApp даёт нам экземпляр документа из которого мы берём первый лист. Объект Browser позволяет нам запрашивать данные у клиента и сообщать ему что-нибудь диалоговыми окнами. Для чтения/записи данных ячеек получаем её из листа методом getRange а затем используем методы getValue/setValue.
Вызываем нашу функцию
Есть несколько способов вызвать наш скрипт из Spreadshett-а. Вариант с вызовом через меню "Инструменты"->"Управление скриптами" мы не рассматриваем как неюзабельный.
Классический вариант - запуск кнопкой, делаем так: вставляем на лист рисунок через "Вставка"->"Рисунок" а затем в меню рисунка (показывается при клике на него правой кнопкой) выбираем "Назначить скрипт". В появившемся поле ввода указываем имя функции.
Также можно добавить свой пункт в меню документа, причём сделать это программно. Добавляем в нашем скрипте сточку:
ss.addMenu("Test", [{name: "Test", functionName: "myFunction"}]);
и получаем:
Познавательно,спасибо
ОтветитьУдалитьЗдравствуйте!
ОтветитьУдалитьПодскажите, Вы делаете проекты под-заказ?
Нас интересует перенос программы по расчету изделия из excel в google таблицы.
karpov@mail.ru
Можно ли назначить скрипту к горячие клавиши?
ОтветитьУдалитьА скажите, как сделать такую фичу:
ОтветитьУдалитьНужен скрипт для Google docs, который при изменении каждой ячейки сохраняет предыдущую информацию, новую добавляет перед старой, в квадратных скобках пишет : дата, время, пользователь. В конце «;». И так каждый раз. Исключение 1я строка – название столбцов
Пример:
- добавили фразу «заявка принята» получилось:
«заявка принята [26.03.14 14:58 GoodAvto@gmail.com];»
-добавили «одобрено», получилось:
«одобрено [26.03.14 14:59 GoodAvto@gmail.com]; заявка принята [26.03.14 14:58 GoodAvto@gmail.com];»
Добрый день Необходима оплачиваемая помощь. Скажите, мы ведем crm в spreadsheet'e. Есть столбцы с e-mail клиента. Необходимо следующее: я ввожу в строчку - e-mail клиента. Появляется кнопка отправить "заранее созданное письмо". Письмо отправляется. Показывается статус отправки- доставлено или нет. Спасибо за ответ на почту - mesol@tut.by
ОтветитьУдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьДобрый день!
ОтветитьУдалитьЕсть заказ на прайс-калькулятор.
Пишите slavakopaev@gmail.com, обсудим.
Здраствуйте, подскажите. Такая проблемка в гугл докс, надо:
ОтветитьУдалить1. Скрыть от определенного редактора столбец с номерами телефонов оставив только последние 4 цифры. Причем не было возможности скопировать информацию из столбца ctrl + с. Для остальных редакторов этот столбец оставался всегда видимым и редактируемым. (p.s. основное наполнение таблицы идет через форму с сайта).
2. Сделать черный список клиентов на втором листе и при заполнении первого листа с помощью формы или вручную столбец с номерами телефонов сравнивался с черным списком из столбца листа2 И автоматически выделялся в листе 1 черным цветом с белым шрифтом.
Сколько это стоит пишите: ivanosovsky@yandex.ru
Заранее благодарен.
Добрый день!
ОтветитьУдалитьИмеется оплачиваемый периодический поток однотипных задач
по написанию формул и скриптов в среде Google Spreadsheet.
Пишите: vinactiv@gmail.com
Михаил
есть необходимость в нескольких скриптах для автоматизации работы в гугл-таблицах, напишите пожалуйста на kokorobova@gmail.com
ОтветитьУдалитьГотов помочь samrukov@gmail.com
УдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьЗдравствуйте!
ОтветитьУдалитьЗадача: Создать в Гугл Док смеху зала с местами и связать её с таблице рядом. Чтобы при написании слова "Бронь" в таблице в графе "Статус" на схеме это место выделялось желтым. Как?
Этот комментарий был удален автором.
ОтветитьУдалитьUnknown пишите paulpetrow@gmail.com есть идее по реализации
ОтветитьУдалитьсмеху зала с местами и связать её с таблице рядом.
Водная статья о том с чего начать изучение скриптов google.
ОтветитьУдалитьДокументация по Google Apps Script.
Ссылка на статью: G-Apps-Script.COM/google-apps-script
Сайт: G-Apps-Script.COM
Ярлыки:
#gas #GoogleAppsScript #GAppsCcript #GoogleСкрипты #GoogleСценарии
Этот комментарий был удален автором.
ОтветитьУдалитьДобрый день! Возможно ли в гугл таблицах увеличивать вставленную картинку по клику мышкой? Кто знает как напишите на почту, пожалуйста
ОтветитьУдалитьpshentsov.a@gmail.com
Удалить