Скрипт для excel google

Как перейти с Excel на Таблицы

Как использовать макросы и дополнения

Далее: Как использовать Таблицы для совместной работы

""

Содержание

  • Как автоматизировать задачи с помощью макросов
  • Как преобразовать макросы Excel в Google Таблицах
  • Как расширить функции Таблиц с помощью дополнений

Как автоматизировать задачи с помощью макросов

" "

Excel:
отдельные сообщения

Таблицы:
макросы и Google Apps Script

Использование макросов в сообщении в Excel 2013

Excel 2013 и 2010

Автоматизируйте повторяющиеся задачи с помощью макросов в Таблицах. Если вам необходимы специальные функции, меню или окна, создайте их с помощью Google Apps Script.

Рекомендации по работе с макросами

  • Для эффективной работы макроса сократите число действий в нем.
  • Используйте макросы для часто повторяющихся операций, которые не требуют сложной настройки.
  • Используйте уникальные клавиши для запуска макросов. Для таблицы можно задать до 10 таких клавиш. Открывайте дополнительные макросы из меню Инструменты а затем Макросы.
  • Сведите к минимуму копии макросов. Для этого применяйте макрос, созданный для ячейки, к диапазону ячеек, выбрав весь их диапазон, и активируйте макрос. 
  • Скрипты макросов связываются с конкретной таблицей и могут использоваться только в Таблицах и не будут работать в Google Документах, Формах или Презентациях.

Как записать макрос

  1. Откройте файл в Таблицах.
  2. В верхей части экрана нажмите Инструменты а затем Макросы а затем Записать макрос.
  3. Внизу экрана выберите тип ссылки:
    • Использовать абсолютные ссылки. Действия макроса применяются только к выбранным вами ячейкам. Например, если вы начнете запись с ячейки B1 (запись начинается, как только вы помещаете курсор в ячейку), а затем перейдете к ячейке D1 и измените шрифт на полужирный, при выполнении макроса данные в ячейке D1 всегда будут выделяться полужирным шрифтом.
    • Использовать относительные ссылки. Действия макроса применяются к выбранной вами ячейке и к другим ячейкам, в которых выполнялись операции. Например, если вы начнете запись с ячейки B1 и добавите формулу, а затем перейдете к ячейке D1 и измените шрифт на полужирный, каждый раз при выполнении макроса будет добавляться формула, затем курсор будет смещаться на два столбца вправо, и данные в этой ячейке будут выделяться полужирным шрифтом.
  4. Выполните все действия, которые хотите записать. Закончив, нажмите кнопку Сохранить.
  5. Укажите название макроса.
  6. При необходимости создайте ярлык для макроса.
  7. Нажмите Сохранить.
    Примечание. Когда вы записываете макрос в Google Таблицах, скрипт создается с помощью Google Apps Script. Чтобы изменить его, выберите вверху страницы Инструменты а затем Редактор скриптов.
  8. Чтобы запустить макрос, нажмите Инструменты а затем Макросы а затем ваш_макрос.

В меню "Инструменты" выберите "Макросы", а затем – "Записать макрос"

Как создать скрипт

  1. Нажмите Инструменты а затем Редактор скриптов.
  2. Создайте скрипт.

Подробнее….

Подробнее о Google Apps Script, специальных функциях и макросах…

Как преобразовать макросы Excel в Google Таблицах

" "

Excel:
как изменять макросы

Таблицы:
как повторно создать макросы в Таблицах

""

Excel 2010 и 2013

Вы можете преобразовать макросы из таблицы Microsoft Excel в Google Таблицах с помощью Google Apps Script. Apps Script позволяет создать макросы в Таблицах аналогично тому, как это можно сделать в Excel с помощью Microsoft Visual Basic for Applications.

Как создать и изменить макрос в Таблицах с помощью Apps Script

  1. Запишите макрос, который хотите создать в Таблицах, в исходной таблице Excel.
  2. Откройте файл в Таблицах и нажмите Инструменты а затем Макросы а затем Записать макрос.
  3. Выберите тип ссылки и нажмите Сохранить.
  4. Выполните операцию, которую нужно записать, и нажмите Сохранить.
  5. Введите название макроса и при необходимости номер клавиши, а затем нажмите Сохранить.
  6. Чтобы изменить скрипт, нажмите Инструменты а затем Макросы а затем Настроить макросы.
  7. Рядом с макросом, который хотите изменить, нажмите на значок «Ещё» "" а затем выберите Изменить скрипт.
  8. В разделе macros.gs внесите изменения в код. При необходимости воспользуйтесь документацией для скриптов Apps Script в Таблицах или найдите нужный концепт JavaScript в Интернете.
  9. Нажмите на значок «Сохранить макрос» "" и закройте вкладку, чтобы вернуться к таблице.
  10. Чтобы создать другие макросы из исходной таблицы, повторите шаги 2–7.

Как активировать макрос в Таблицах

  1. Нажмите Инструменты а затем Макросы а затем ваш сохраненный макрос. Кроме того, для запуска макроса можно использовать быстрые клавиши.
  2. Если это первый запуск макроса, разрешите авторизацию.

Совет. Дополнительная информация о том, как библиотека Apps Script может имитировать основные функции Visual Basic for Applications (VBA), приведена в блоге для разработчиков G Suite (только на английском языке). 

Как расширить функции Таблиц с помощью дополнений

" "

Excel:
дополнения

Таблицы:
дополнения

Дополнения в Excel 2013

Excel 2013
 

Дополнения в Excel 2010

Excel 2010

С помощью готовых дополнений вы можете расширить функции Таблиц. Например:

  • Чтобы подключить таблицу к Salesforce, используйте коннектор данных для Salesforce.
  • Чтобы подключить MySQL и Oracle, используйте Supermetrics.
  • Чтобы интегрировать данные Copper CRM, используйте Copper CRM Custom Report Builder.
  • Чтобы интегрировать данные о найме из Greenhouse, используйте
    Greenhouse Report Connector.

Как скачать дополнения

  1. Нажмите Дополнения а затем Установить дополнения.
  2. Чтобы прочитать описание дополнения, наведите на него указатель мыши или нажмите на него.
  3. Выберите дополнение, которое вы хотите установить, и нажмите Бесплатно.
  4. При необходимости ознакомьтесь со списком требуемых разрешений и нажмите Разрешить.

Установить дополнения

Google, Google Workspace, а также другие связанные знаки и логотипы являются товарными знаками компании Google LLC. Все другие названия компаний и продуктов являются товарными знаками соответствующих компаний.

Далее: Как использовать Таблицы для совместной работы

Эта информация оказалась полезной?

Как можно улучшить эту статью?

Хотя есть много замечательных вещей, которые вы можете сделать с помощью встроенных функций и возможностей в 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 Forms будет «Редактор сценариев», в котором вы можете писать и выполнять код для форм Google.

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

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

После того, как вы нажмете на опцию «Редактор скриптов», откроется редактор скриптов в новом окне (как показано ниже).
Вы можете изменить имя проекта, щелкнув в верхней левой части экрана с надписью «Проект без названия». Когда вы щелкаете по нему, откроется диалоговое окно, в котором вы можете ввести название проекта. Изменение имени займет несколько секунд.
В проекте сценария может быть несколько файлов сценария. Например, если у вас есть три разные вещи, которые вы хотите автоматизировать в Google Таблицах, и вы создаете для них три разных скрипта, у вас могут быть все три разных скрипта в одном файле проекта.

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

Если вы щелкните маленькую направленную вниз стрелку справа от имени файла сценария, отобразятся варианты переименования, удаления и создания копии файла сценария.

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

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

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

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

  • Кнопка «Вернуть / Отменить» : для возврата / отмены изменений, которые вы сделали в скрипте.
  • Кнопка отступа: это кнопка-переключатель, и вы можете включить или отключить отступ, нажав на нее. Когда отступы включены, они автоматически делают отступы для некоторых частей вашего скрипта, чтобы сделать его более читабельным. Это может иметь место, когда вы используете циклы или операторы IF. Он будет автоматически делать отступы для наборов кодов внутри цикла, чтобы повысить удобочитаемость (если отступы включены). Этот параметр включен по умолчанию, и я рекомендую вам оставить его в таком же виде.
  • Кнопка «Сохранить» : вы можете использовать эту кнопку, чтобы сохранить любые изменения в вашем скрипте. Вы также можете использовать сочетание клавиш Control + S. Обратите внимание, что, в отличие от Google Таблиц, вам необходимо сохранить свой проект, чтобы убедиться, что изменения не потеряны.
  • Кнопка текущего триггера проекта : при нажатии на эту кнопку откроется панель управления триггерами, на которой перечислены все триггеры, которые у вас есть. Триггер — это все, что запускает выполнение кода. Например, если вы хотите, чтобы код запускался и вводил текущую дату и время в ячейку A1 всякий раз, когда кто-то открывает Google Таблицы, вы будете использовать для этого триггер.
  • Кнопка «Выполнить» : используйте ее для запуска сценария. Если у вас несколько функций, выберите любую строку в той, которую вы хотите запустить, а затем нажмите кнопку «Выполнить».
  • Кнопка отладки : отладка помогает находить ошибки в коде, а также дает некоторую полезную информацию. Когда вы нажимаете кнопку «Отладка», на панели инструментов отображаются некоторые дополнительные параметры, связанные с отладкой.
  • Выберите функцию : это раскрывающийся список, в котором перечислены все ваши функции в файле сценария. Это полезно, когда у вас много функций в скрипте и вы хотите запустить конкретную. Вы можете просто выбрать имя здесь, а затем нажать кнопку запуска (или отладить его, если хотите).

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

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

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

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

  • ФАЙЛ : из меню «Файл» вы можете добавить новый проект или файл сценария. Проект будет полностью новым проектом в отдельном окне, где вы можете создать дополнительные файлы сценариев. Когда вы добавляете новый файл сценария, он просто добавляет его в тот же проект (вы увидите его на левой панели под текущими файлами сценария). Вы также можете переименовывать и удалять проекты отсюда. Еще одна полезная опция, которую вы можете найти в меню «Файл», — это возможность управлять версиями проектов. Когда вы сохраняете проект, сохраняется его версия, и вы можете вернуться и вернуться к этой версии, если хотите.
  • РЕДАКТИРОВАТЬ : Edit имеет несколько полезных опций, которые могут помочь при написании или редактировании кода. Например, есть возможность найти и заменить текст в вашем коде. Есть также такие опции, как Завершение слов, Помощник по содержанию и Переключить комментарии.
  • ПРОСМОТР : у этого есть параметры, которые могут быть полезны, когда вы хотите получить дополнительную информацию о скрипте, когда он выполняется, или хотите добавить журналы, чтобы помочь в отладке в будущем. Например, вы можете получить стенограмму выполнения, в которой подробно описаны все действия, выполняемые вашим скриптом.
  • ВЫПОЛНИТЬ : Есть варианты для запуска различных функций или их отладки. Поскольку эти параметры также доступны на панели инструментов, их реже можно использовать из меню.
  • ПУБЛИКАЦИЯ : здесь есть более продвинутые функции, такие как публикация ваших скриптов в виде веб-приложений.
  • РЕСУРСЫ: это дает вам доступ к расширенным параметрам, таким как библиотеки и расширенные службы Google. Вы можете использовать эти параметры для подключения к другим ресурсам Google, таким как Google Forms или Docs.
  • СПРАВКА : Здесь есть учебные пособия и ресурсы, которые могут помочь вам, когда вы начинаете / работаете со скриптами Google Apps. Одним из наиболее полезных вариантов здесь является ссылка на страницу документации, где вы можете найти множество руководств и ссылок для изучения скриптов Google Apps.

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

30 декабря 2020, автор: Елена Позднякова

Здравствуйте, уважаемые читатели моего блога!
Данная статья-справочник подготовлена для тех, кто хочет автоматизировать Гугл Таблицы с помощью языка программирования Google Apps Script.
Это можно сделать даже с нуля и без начальных навыков программирования, но, единственная проблема в том, что не так-то просто разобраться в официальной документации от Гугла: во-первых, она на английском, во-вторых, очень объемная.
Здесь вы найдете четко структурированный набор самых нужных функций, которые позволят вам свободно ориентироваться в автоматизации Google Таблиц.
Скачайте схему, смотрите видео, если есть вопросы — задавайте в комментариях!

Google Apps Script основные команды для Гугл Таблиц

Имена: как получить доступ или обратиться к таблице, листу, диапазону, ячейке

Таблица как электронный файл (Spreadsheet)

var ss = SpreadsheetApp.openByUrl ( 'https://docs.google.com/spreadsheets/d/abc1234567/edit');

Logger.log ( ss.getName ( ) );

SpreadsheetApp.openById ( id ) — доступ к электронной таблице по ID.

Как получить ID таблицы из URL-адреса:
https://docs.google.com/spreadsheets/d/1bwOBqlm4RJgLLlftChrOTcZgDlZrvjA9fddybkgrto8/edit#gid=0
https://docs.google.com/spreadsheets/d/spreadsheetId/edit#gid=0

var ss = SpreadsheetApp.openById ( "1bwOBqlm4RJgLLlftChrOTcZgDlZrvjA9fddybkgrto8" );

Logger.log (ss.getName ( ) );

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

Доступ к родительской таблице из контейнерного скрипта:

//например, получить URL адрес текущей таблицы

SpreadsheetApp.getActive ( ).getUrl ( );
SpreadsheetApp.getActiveSpreadsheet ( ).getUrl ( );

Открыть таблицу, записанную в переменную

Лист (Sheet)

var sheet = SpreadsheetApp.getActiveSpreadsheet ( ) .getSheetByName ( "Лист2" )

Доступ к активному листу для контейнерного скрипта:

getActiveSheet ( ) — доступ к активному листу в электронной таблице.
Активный лист в электронной таблице — это лист, который отображается в пользовательском интерфейсе электронной таблицы.

var sheet = SpreadsheetApp.getActiveSpreadsheet ( ). getActiveSheet ( ); 

//напрямую без указания таблицы тоже можно:

var sheet = SpreadsheetApp.getActiveSheet ( ); 

sheet.getName ( ) — возвращает имя листа =sheet.getSheetName()
sheet.getSheetId ( ) — возвращает ID листа
range.getSheet ( ) — возвращает лист (как объект), к которому принадлежит диапазон

Получить все листы таблицы в виде списка:
ss.getSheets ( ) — получить все листы таблицы в виде списка.
Возможен доступ по индексам. Индексация начинается с 0.

var sheets = SpreadsheetApp.getActiveSpreadsheet ( ) .getSheets ( ) ;

 Logger.log (sheets [0].getName ( ) ); //Лист1

sheet.getIndex ( ) — получает позицию листа в родительской электронной таблице. Начинается с 1.

sheet.getFormUrl ( ) — возвращает URL-адрес формы, которая отправляет ответы в этот лист или null.

Диапазон (Range)

Получить диапазон по номеру строки и столбца:

getRange(row, column, numRows, numColumns) — возвращает диапазон с верхней левой ячейкой в заданных координатах с заданным количеством строк и столбцов.

Пример.
Вывести в журнал все значения из приведенного диапазона:

function showRange () {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var range = sheet.getRange(1, 2, 3, 2);
  var values = range.getValues();
  
  // Напечатать в журнал значения из диапазона с помощью цикла
  for (var row in values) {
    for (var col in values[row]) {
      Logger.log(values[row][col]);
    }
  }
}

Получить диапазон по нотации А1:

Один из вариантов обозначения диапазонов — Нотация А1.
Это строка типа Sheet1!A1:B2.

getRange ( a1Notation ) — получить диапазон по обозначению с помощью нотации А1. Нотация А1 представляет из себя строку и должна быть заключена в кавычки: » » (двойные), ‘ ‘ (одинарные) или ` ` (обратные).

Например:

var range = sheet.getRange('B1:C3').getValues ( );

С помощью обратных кавычек « в текст нотации можно встраивать выражения и переменные:

var row = 3;
var cell = sheet.getRange( `D${row}` ).getValue ( );

Синтаксис для встраивания ${переменная}.
В пределах обратных кавычек не должно быть лишних пробелов, иначе нотация не будет прочитана.

Получить доступ к активному диапазону из контейнерного скрипта:

getActiveRange ( ) — возвращает выбранный диапазон на активном листе или null, если активного диапазона нет. Метод класса SpreadsheetApp.

Примечание: в пользовательской функции диапазон относится к ячейке, которая пересчитывается.

var color = SpreadsheetApp.getActiveRange().getBackgroundColor();

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

getActiveRange ( ) — возвращает выбранный диапазон на активном листе или null, если активного диапазона нет. Метод классов: Spreadsheet, Sheet.

SpreadsheetApp.openById('16tBD3fhiKUFI1mqEyorn6ZqXm0OU3frjLcN8veNiZPg').getActiveRange ( );

getRange (row, column, numRows) — возвращает диапазон с верхней левой ячейкой с заданными координатами и с заданным количеством строк.

Примечание: только один столбец.Пример.
Получить данные столбца, начиная с ячейки B2 до последней заполненной строчки в таблице.

function showColumn (){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[1];

  var range = sheet.getRange(2, 2, 5);
  var values = range.getValues();
  
    for (var row in values) {
    for (var col in values[row]) {
      Logger.log(values[row][col]);
    }
  }
}

Получить столбец по нотации А1:

var range = sheet.getRange('B:B').getValues ( );

function showRow (){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[1];
  
  var range = sheet.getRange(4, 1, 1,3);
  var values = range.getValues();
  
   for (var row in values) {
    for (var col in values[row]) {
      Logger.log(values[row][col]);
    }
  }
}

Получить ряд по нотации А1:

var range = sheet.getRange('4:4').getValues ( );

Ячейка (Cell)

Получить ячейку по номеру строки и столбца:

//из таблицы контейнерного скрипта получить лист с индексом 1 (это второй лист)

var sheet = SpreadsheetApp.getActive().getSheets()[1];

//из ячейки по адресу: РЯД 3 СТОЛБЕЦ 4 получить значение

var cell = sheet.getRange (3, 4) .getValue ( ) ;

Получить ячейку по нотации А1:

getRange ( a1Notation ) — получить ячейку по обозначению с помощью нотации А1. Нотация А1 представляет из себя строку и должна быть заключена в кавычки: » » (двойные), ‘ ‘ (одинарные) или ` ` (обратные).

var cell = sheet.getRange( 'D3' ).getValue ( );

С помощью обратных кавычек « в текст нотации можно встраивать выражения и переменные:

var row = 3;
var cell = sheet.getRange( `D${row}` ).getValue ( );

Синтаксис для встраивания ${переменная}.
В пределах обратных кавычек не должно быть лишних пробелов, иначе нотация не будет прочитана.

Получить доступ к активной ячейке из контейнерного скрипта:

getCurrentCell ( ) — возвращает текущую ячейку на активном листе или null, если текущая ячейка отсутствует.

var number   = SpreadsheetApp.getCurrentCell ( ).getValue ( );

Получить доступ к активной ячейке из независимого скрипта:

getActiveCell ( ) — возвращает активную ячейку на листе.

Примечание: в документации Гугл указано, что предпочтительно использовать getCurrentCell ( )

SpreadsheetApp.openById('16tBD3fhiKUFI1mqEyorn6ZqXm0OU3frjLcN8veNiZPg').getActiveCell().getValue();

Основные команды

Структура команд:

сначала навигация — а затем команда

Класс SpreadsheetApp

главный класс для управление Гугл Таблицами

Все команды начинаются с:

SpreadsheetApp.

Класс Spreadsheet

электронная таблица как документ

openByUrl (url)
openById (id)
getActive ( )
getActiveSpreadsheet ( )

Класс Sheet

лист

getSheetByName (name)
getActiveSheet ( )

Класс Range

диапазон или ячейка

getRange(row, column, numRows, numColumns)
getRange (row, column, numRows)
getRange ( row, column )
getRange ( a1Notation )
getActiveRange ( )
getCurrentCell ( )
getActiveCell ( )

Обычно обращение к классам SpreadsheetApp и Spreadsheet записывают в переменную ss, обращение к классу Sheet в переменную sheet, обращение к классу Range в переменную range.

//Текущая Гугл Таблица записана в переменную:
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  
  //Лист с именем "Лист1" записан в переменную:
  var sheet = ss.getSheetByName("Лист1"); 
  
  //Диапазон A1:B4 записан в переменную:
  var range = sheet.getRange('A1:B4');

Для контейнерного скрипта допустимо прямое обращение к активному листу или активному диапазону (минуя промежуточные классы), так как скрипт создан из родительской таблицы:

SpreadsheetApp.getActiveSheet ( );

//или

SpreadsheetApp.getActiveRange ( );
SpreadsheetApp.getCurrentCell ( );

//для независимого скрипта требуется обязательное обращение к таблице по ID или URL

SpreadsheetApp.openByUrl ( 'URL' ).getActiveCell ( ); 

//или

SpreadsheetApp.openById ( 'ID' ).getSheetByName ( 'name').getRange ( ); 

Основные команды класса SpreadsheetApp

Вставить строки
sheet.insertRowBefore ( beforePosition )
sheet.insertRowAfter ( afterPosition )
sheet.insertRows ( rowIndex )
sheet.insertRows ( rowIndex, numRows )
sheet.insertRowsBefore ( beforePosition, howMany )
sheet.insertRowsAfter ( afterPosition, howMany )

Вставить столбцы
sheet.insertColumnBefore ( beforePosition )
sheet.insertColumnAfter ( afterPosition )
sheet.insertColumns ( columnIndex )
sheet.insertColumns ( columnIndex,numColumns )
sheet.insertColumnsBefore ( beforePosition, howMany )
sheet.insertColumnsAfter ( afterPosition, howMany )

Самые частые команды:

getValue ( ) — setValue ( )
getValues ( ) — setValues ( )

Еще важные команды:

range.getNote — range.setNote
range.getNotes — range.setNotesactivate ( )активировать, команда эквивалентна щелчку мышью
(применима к листу, диапазону, ячейке)

Ссылки на официальную документацию по методам классов SpreadsheetApp, Spreadsheet, Sheet, Range

официальная документация по на английском

официальная документация по на английском

официальная документация по на английском

официальная документация по на английском

Функции других служб для Гугл Таблиц: почта, календари, переводчик и т.д.

Отправить письмо из Гугл Таблицы

MailApp.sendEmail(recipient, subject, body)

function myMail() {
  MailApp.sendEmail("test@test.ru", "лови письмо из гугл таблицы",
  "еее! Всё получилось!!!")
}

Видеоинструкция по функции sendEmail:

Отправить событие из Гугл Таблицы в публичный календарь

CalendarApp.getCalendarById("ID").createEvent(title, startTime, endTime)

function CalendarEvent(){
  var ss = SpreadsheetApp.getActiveSpreadsheet(),
      sheet = ss.getSheetByName('Лист2'),
   
      title = sheet.getRange('A2').getValue(),
      startTime = sheet.getRange('B2').getValue(),
      endTime = sheet.getRange('C2').getValue();
  CalendarApp.getCalendarById("ID").createEvent(title, startTime, endTime);
}  

Видеоинструкция по функции createEvent:

Поисковые запросы в Google Apps Script

sheet.createTextFinder(findText).findNext()

//Создаем поисковый запрос со значением текущего менеджера
  var textFinder = sheet.createTextFinder(currentManager);
  
  //Запускаем поисковый запрос с помощью встроенной функции findNext() и полученное значение записываем в переменную
  //Функцию можно запускать без условий, так как поисковый запрос точно не пустой
  var firstOccurrence = textFinder.findNext();

Видеоинструкция по поисковым запросам в Google Apps Script:

Переводчик в Google Apps Script

LanguageApp.translate(text, sourceLanguage, targetLanguage) 

function translate (){
  var arabic = LanguageApp.translate('Привет', 'ru', 'ar');
  Logger.log(arabic);
} 

// مرحبا

Сообщение alert для Гугл Таблицы

alert(prompt) — функция alert вызывает окно с сообщением, которое блокирует интерфейс таблицы до тех пор, пока пользователь не нажмет ОК.

Для того, чтобы вызвать данную функцию из Гугл Таблицы, требуется дополнительно обратиться к интерфейсу таблицы с помощью встроенной функции от Гугл: SpreadsheetApp.getUi().
getUi() — функция обращается к пользовательскому интерфейсу Гугл Таблицы.

Вот так выглядит скрипт:

function alertSpreadsheet () {
 SpreadsheetApp.getUi().alert("Привет! Это сообщение выведено с помощью функции alert")
 }

Видеоинструкция по данному скрипту:

Получить email пользователя, запустившего скрипт

getEmail() — получает email пользователя текущей сессии.

function CheckMyEmail() {
  var email = Session.getActiveUser().getEmail()
  Logger.log('Твой email: ' + email)
 }

Получить текущую дату и время

Описание, как работать с датой и временем в рекламных скриптах Гугл.

function todayNow () {
  var today = Date ();
  Logger.log(today)
  }

//Tue Dec 29 2020 17:53:43 GMT+0300 (Москва, стандартное время)

function todayNow2() {
  var today = new Date().toLocaleString('ru');
  Logger.log(today)
  }

//29.12.2020, 18:06:08

Математические операции с датами. В приведенном ниже фрагменте скрипта переменная yesterday выражает время ровно 24 часа назад от текущего момента.

function yesterday (){
  var MILLIS_PER_DAY = 1000 * 60 * 60 * 24;
  var now = new Date();
  var yesterday = new Date(now.getTime() - MILLIS_PER_DAY);
  Logger.log(yesterday)
}

//Mon Dec 28 18:02:23 GMT+03:00 2020

Триггеры, которые запускают функции

Простые триггеры

Мы разберем два простых триггера: onEdit (срабатывает при любом изменении в Гугл Таблице) и onOpen (срабатывает при открытии).
Начнем с функции onEdit, а функцию onOpen рассмотрим в следующем разделе для целей создания пользовательского меню.

OnEdit (e) — функция onEdit является простым триггером. Выполняется при редактировании ячейки.

Синтаксис:

function onEdit(e) {
команда
}

onEdit — это зарезервированное имя функции, для триггера нужно использовать только его;
e — это не обязательный аргумент, который передает информацию об объекте события.

Перечень объектов, которые содержатся в e, можно посмотреть здесь.
Например:

  • range — ячейка или диапазон ячеек, который был изменен (обратиться к диапазону: e.range);
  • value — новое значение для ячейки (доступно только для редактирования одиночной ячейки, обратиться к значению: e.value);
  • sourse — Гугл Таблица (обратиться: e.sourse).

Пример1.
Триггер добавляет примечание к любой ячейке, которая была изменена.

function onEdit(e) {
  
  var range = e.range;
  
   range.setNote('Последнее изменение: ' + new Date().toLocaleString('ru'))
  }

Пример2.
Триггер добавляет примечание, если была изменена ячейка из столбца 2.

function onEdit(e) {
  
  var range = e.range;
  
  if (range.getColumn() == '2')
    
  {range.setNote('Последнее изменение: ' + new Date().toLocaleString('ru'))
  }
}

Пример3.
Триггер записывает время последнего изменения в ячейку справа от измененной ячейки.

function onEdit(e) {
  
// Это контейнерный скрипт:
// e = SpreadsheetApp.getActiveRange()
  
  var range = e.range,
      row =   range.getRow(),
      column =   range.getColumn();
  
  
  range.offset(0, 1).setValue(new Date().toLocaleString('ru'))
  
}

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

С помощью Google Apps Script можно создать пользовательское меню для Гугл Таблицы. Создание меню доступно только из Контейнерного скрипта.
Меню Гугл Таблицы будет видеть только тот, кто имеет право редактирования (пользователи с доступом на просмотр меню не видят).

Вот так выглядит простейшее пользовательское меню:

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('МОЁ МЕНЮ')
    .addItem('Запустить функцию 1', 'myFunction1')
    .addSeparator()
    .addItem( 'Запустить функцию 2', 'myFunction2')
    .addToUi();
}

А здесь пользовательское меню для Гугл Документа, которое включает подменю:

function onOpen() {
  var ui = DocumentApp.getUi();
  // или SpreadsheetApp или FormApp.
  ui.createMenu('ПОЛЬЗОВАТЕЛЬСКОЕ МЕНЮ')
  .addItem('Пункт меню1', 'function1')
  .addItem('Пункт меню2', 'function2')
  .addSeparator()
  .addSubMenu(ui.createMenu('Подменю')
              .addItem('Пункт подменю 1', 'function3')
              .addItem('Пункт подменю 2', 'function4'))
  .addToUi();
}

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

addItem ( caption, functionName ) — функция добавляет элемент меню
caption — название элемента меню
finctionName — функция, которую запускает элемент меню

Кнопки

Функции можно запускать из редактора скриптов с помощью кнопки «Выполнить»:

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

ВставкаИзображение Изображение поверх ячеек
или
Вставка Рисунок (нарисовать любую фигуру)

дальше одинаково:
• • • → Назначить скриптВписать название функции без ( )

Управление триггерами вручную

  1. Откройте проект Apps Script.
  2. Слева нажмите Триггеры.
  3. В правом нижнем углу нажмите Добавить триггер .
  4. Выберите и настройте тип триггера, который вы хотите создать.
  5. Щелкните Сохранить .

Программное управление триггерами

function createTimeDrivenTrigger() {
  
  // Триггер сработает каждое утро в 09:00.
  ScriptApp.newTrigger('myFunction')
      .timeBased()
      .onWeekDay(ScriptApp.WeekDay.MONDAY)
      .atHour(9)
      .create();
}

Пользовательские функции

Видео инструкция:

Пишем свою пользовательскую функцию для Гугл Таблиц с помощью Google Apps Script

Пример пользовательской функции «Перевод километров в морские мили»:

//Пользовательская функция для встроенного скрипта "Перевод километров в морские мили"
//Комментарий ниже является аннотацией для создания подсказок

/**
* Функция переводит километры в морские мили.
*
* @param {number} kilometers километры.
* @return {number} nauticalMiles морские мили.
* @customfunction
*/

function kilometersToNauticalMiles ( kilometers ) {
  var nauticalMiles = kilometers/1.8522;
  return nauticalMiles
}

Полезные фишки
и ссылки на дополнительные материалы по JavaScript

Макросы — основа скрипта для умных лентяев

Запишите макрос, и скрипт сам запомнит ваши действия и сделает из них сценарий:
Инструменты → Макросы → Запись макроса

Особенно хороши макросы для подготовки сценариев с форматированием данных. Цвет, размер текста, форматы — все это удобнее ПОКАЗАТЬ, чем искать соответствующие команды.
Настройку проверки данных (выбор значений из списка, флажок) тоже удобнее настраивать через макрос, чем искать в командах.

Записанный сценарий ждет вас в меню:
Инструменты → Редактор скриптов

Google Apps Script? Сейчас объясню!
[подборка видео от Автоматизации без обязательств]

Google Apps Script на русском

JavaScript — основа Google Apps Script

JavaScript на одном листе

Учебник по JavaScript

Полный курс по JavaScript за 6 часов
от Владилена Минина

Иногда бывает необходимо создать множество повторяющихся документов, которые отличаются лишь номером, датой и ещё парой текстовых строк. Очень грустно тратить на их создание своё время — ведь требуется совершить множество одинаково повторяющихся действий. Ещё можно понять затраты времени на создание 5 документов, но если их надо создать, например 500 штук?

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

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

Создайте шаблон для вашего документа

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

Шаблон протокола на одну страницу А4. Красным выделены поля, которые надо изменять

Шаблон протокола на одну страницу А4. Красным выделены поля, которые надо изменять

Красным выделены поля, которые надо изменять в процессе создания.

Даты были заданы заранее, как и их порядковые номера. Даты для работы скрипта надо записать в виде массива:

const values = ["2022-12-21", "2022-12-21", "2022-12-21", "2022-12-21", "2022-12-21", "2022-12-21", "2022-12-22", "2022-12-22"];

Для столбца из дат можно сделать это, например, через макросы в Notepad++:
(знаете способ лучше — напишите в комментарии к статье)

Запись макроса и его дальнейший запуск

Запись макроса и его дальнейший запуск

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

Гугл скрипты в помощь

Google Apps Script — это простой язык сценариев, который использует синтаксис JavaScript.

Для получения погоды (а это одно из полей, которые требует протокол) можно воспользоваться бесплатным Free Weather API, которое даже не требует получения ключа для работы с ним. Координаты местности задаются через параметры latitude=58.08&longitude=55.76:

function temperature(date) { //получаем погоду
    // date = "2022-10-04"
    // console.log(`temperature. date = ${date}`)
    const url = `https://archive-api.open-meteo.com/v1/archive?latitude=58.08&longitude=55.76&start_date=${date}&end_date=${date}&timezone=Asia%2FYekaterinburg&daily=temperature_2m_mean,precipitation_sum,windspeed_10m_max`
    CacheServis(url);
    try {
        const response = UrlFetchApp.fetch(url)
        const json = JSON.parse(response.getContentText());
        const temperature_2m_mean = json.daily.temperature_2m_mean[0]
        // console.log(`Погода по координатам на ${date}: ${temperature_2m_mean}°C.`)
        const precipitation_sum = json.daily.precipitation_sum[0]
        // console.log(`Погода по координатам на ${date}: ${precipitation_sum} мм.`)
        const windspeed_10m_max = json.daily.windspeed_10m_max[0]
        // console.log(`Погода по координатам на ${date}: ${windspeed_10m_max} км/ч.`)
        // console.log(`Погода по координатам на ${date}: ${temperature_2m_mean}°C, ${precipitation_sum} мм осадков, ветер ${windspeed_10m_max} км/ч.`)
        return `${temperature_2m_mean}°Cn${precipitation_sum} мм осадковnветер ${windspeed_10m_max} км/ч`
    } catch (error) {
        console.log(`temperature. Ошибка на ${date}: ${error}.`)
        return ""
    }
}

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


function CacheServis(url) { //кэширование результата запроса по url
    var cache = CacheService.getScriptCache();
    var cached = cache.get(url);
    if (cached != null) {
        // Logger.log("CacheServis.nУже было записано для " + url);
        return cached;
    }
    try {
        var result = UrlFetchApp.fetch(url);
    } catch (error) {
        Logger.log("CacheServis.nОшибка обращения при кэшировании по url " + url + "nn");
        return ""
    }
    var contents = result.getContentText();
    cache.put(url, contents, 21600); // cache for 6 hours
    Logger.log("CacheServis.nЗаписали по новой для " + url);
    return contents;
}

Далее самая важная часть гугл скрипта — создание множества листов на основе одного шаблона:

function index() {
    var startTime = new Date();

    const values = ["2022-12-21", "2022-12-21", "2022-12-21", "2022-12-21", "2022-12-21", "2022-12-21", "2022-12-22", "2022-12-22"];
    
    let n = 0
    let time = 7;

    values.forEach((date, index) => {
        if (index === 0 || date !== values[index - 1]) {
            time = 7;
        } else {
            time += 1;
        }
        n += 1
        console.log(`Выполняю копирование №${n} для ${date}.`)
        duplicate(date, n, time);

    var endTime = new Date();
    var duration = (endTime - startTime) / 60000; 
    Logger.log("Время выполнения скрипта: " + duration.toFixed(2) + " минут");
    });
}

И сам код, который создаёт дубликаты вкладок и меняет их содержимое:

function duplicate(date, n, time) {

    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var lastTabName = ss.getSheets().pop().getSheetName(); 
    var sheet = ss.getSheetByName('Шаблон').copyTo(ss);

    sheet.setName(n);
    sheet.getRange("B2").setValue(temperature(date));
    sheet.getRange("B5").setValue(n);
    sheet.getRange("B33").setValue(date);
    sheet.getRange("B34").setValue(date);
    sheet.getRange("C33").setValue(`${time}:${Math.floor(Math.random() * 3) + 1}:00`);
    sheet.getRange("C34").setValue(`${time+1}:${Math.floor(Math.random() * 6) + 4}:00`);

    // ss.setActiveSheet(sheet);
}

Я знаю что этот код написан не самым оптимальным образом и вряд ли стоит рассчитывать на скорость работы, но этот код может за 6 бесплатных минут работы гугл скрипта (а именно такое ограничение любого гугл аккаунта), создать около 300 дубликатов вкладки. А ещё обращение к внешнему сервису за погодой сильно замедляет его работу.

Как пользоваться?

Для того чтобы запустить этот скрипт из гугл таблицы и предоставить все необходимые разрешения для его работы надо выполнить несколько шагов:

Шаг 1. Откройте таблицу Google Протоколы_шаблон и скрипт:

  • Войдите в свою учетную запись Google и откройте электронную таблицу, содержащую этот скрипт.

Шаг 2. Создайте собственную копию этой гугл таблицы примера:

  • Нажмите на меню «Файл», затем выберите «Создать копию…».

  • В окне «Создать копию» введите имя для своей копии электронной таблицы и выберите место для нее.

  • Нажмите «ОК», чтобы создать копию.

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

  • Все данные и форматирование исходной электронной таблицы будут перенесены в новую копию.

  • Если вы сделали копию общей электронной таблицы, у вас будут свои собственные отдельные данные, и вы не испортите данные исходной электронной таблицы, которой с вами поделились.

Шаг 3. Откройте редактор в вашей таблице скриптов:

  • Щелкните меню «Расширения», затем выберите «Apps Script».

  • Это откроет редактор скриптов в новом окне.

Шаг 4. Запустите скрипт:

  • В редакторе сценариев выберете вкладку replication, а в ней функцию index и щелкните кнопку «Выполнить».

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

Шаг 5. Проверьте результат:

  • Если сценарий выполняется успешно, выходные данные функции будут отображаться на вкладке «Журнал выполнения» в нижней части окна редактора сценариев.

Выполнение работы скрипта

Выполнение работы скрипта
  • Также во время работы скрипта вы можете открыть таблицу и наблюдать как появляются новые вкладки.

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

Вновь созданные вкладки

Вновь созданные вкладки

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

Что в итоге

Использование связки гугл таблица + гугл скрипт для создания однотипных документов на основе единого шаблона является действенным способом автоматизации создания документов.

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

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

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

Автор: Михаил Шардин,

14 апреля 2023 г.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Используете гугл скрипты в работе?

Проголосовали 13 пользователей.

Воздержавшихся нет.

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

Пример задачи для макроса

Сначала предлагаю вкратце остановиться на том, что именно будет делать макрос, который я взял в качестве примера для данной статьи. Его задача – перенести записанные данные из одного листа таблицы на другой, формируя тем самым базу данных в автоматическом режиме. Это упростит процесс заполнения информации и избавит юзера от необходимости следить за строками. Разберу все составляющие таблицы для реализации поставленной цели.

  1. У меня есть небольшая форма для заполнения с номерами товаров, их названием, серийным номером, датой.Проверка содержимого листа перед созданием макроса в Google Таблицах

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

  3. Дата тоже проставляется автоматически.Вторая функция в таблице перед созданием макроса в Google Таблицах

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

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

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

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Запись макроса в Google Таблицах

Макрос в Гугл Таблицах запоминает выполненные пользователем действия, а затем повторяет их каждый раз при повторном запуске. Это и позволит нам осуществить что-либо всего один раз, а затем доверить реализацию небольшой программе. Кстати, таких макросов можно записать практически неограниченное количество.

  1. Для начала я заполню динамические данные в своей таблице. Сделайте это и вы, если в этом возникнет необходимость.Динамически заполняемые данные перед созданием макроса в Google Таблицах

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

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

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

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

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

  7. Остается только нажать на «Сохранить», завершая тем самым запись макроса. Если вы не уверены, что все сделали правильно, щелкните на «Отмена», снова запустите запись и повторите действия.Сохранение результата для создания макроса в Google Таблицах

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

  9. Проверьте макрос через то же самое меню «Макросы», отыскав его по названию.Поиск макроса через меню после его создания Google Таблицах

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

Назначение кнопки для запуска макроса

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

  1. Разверните меню «Вставка» и нажмите по пункту «Рисунок».Использование вставки рисунка для назначения кнопки макроса Google Таблицах

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

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

  4. В качестве скрипта укажите точное название макроса, который создали ранее.Добавление скрипта для рисунка в Google Таблицах

  5. Теперь кликните по картинке ЛКМ и убедитесь в том, что скрипт был успешно выполнен (на экране появится соответствующее уведомление).Нажатие по рисунку для запуска макроса в Google Таблицах

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

Понравилась статья? Поделить с друзьями:
  • Скопировать весь текст клавиши в word
  • Скопировать в одну клетку excel
  • Скопировать в буфер обмена можно excel
  • Скопировать в excel с исходным форматированием
  • Скопировать лист в excel в несколько листов