Google Таблицы позволяют записывать макросы , дублирующие определённую последовательность действий в пользовательском интерфейсе. После записи макроса его можно связать с сочетанием клавиш Ctrl+Alt+Shift+Number
. Это сочетание клавиш позволяет быстро повторить те же шаги макроса, обычно в другом месте или с другими данными. Вы также можете активировать макрос из меню «Расширения Google Таблиц» > «Макросы» .
При записи макроса Google Таблицы автоматически создают функцию Apps Script ( макрос-функцию ), которая копирует шаги макроса. Макрос-функция добавляется в проект Apps Script , привязанный к листу, в файл с именем macros.gs
. Если к листу уже привязан файл проекта с таким именем, макрос-функция добавляется к нему. Google Таблицы также автоматически обновляют манифест проекта скрипта, записывая имя и назначенное макросу сочетание клавиш.
Поскольку каждый записанный макрос полностью определён в Apps Script, вы можете редактировать их непосредственно в редакторе Apps Script. Вы даже можете писать макросы с нуля в Apps Script или использовать уже написанные функции и превращать их в макросы.
Создание макросов в Apps Script
Вы можете использовать функции, написанные на Apps Script, в качестве макросов. Проще всего это сделать, импортировав существующую функцию из редактора Google Таблиц.
Кроме того, вы можете создать макросы в редакторе Apps Script, выполнив следующие действия:
- В пользовательском интерфейсе Google Таблиц выберите «Расширения» > «Скрипт приложений» , чтобы открыть скрипт, привязанный к таблице, в редакторе скриптов приложений.
- Напишите макрофункцию. Макрофункции не должны принимать аргументов и возвращать значения.
- Отредактируйте манифест скрипта , чтобы создать макрос и связать его с функцией макроса. Назначьте ему уникальное сочетание клавиш и имя.
- Сохраните проект скрипта. После этого макрос станет доступен для использования на листе.
- Протестируйте функцию макроса на листе, чтобы убедиться, что она работает так, как задумано.
Редактирование макросов
Вы можете редактировать макросы, прикрепленные к листу, выполнив следующие действия:
- В пользовательском интерфейсе Google Таблиц выберите Расширения > Макросы > Управление макросами .
- Найдите макрос, который хотите отредактировать, и выберите > Изменить макрос . Откроется редактор Apps Script с файлом проекта, содержащим функцию макроса.
- Отредактируйте функцию макроса, чтобы изменить поведение макроса.
- Сохраните проект скрипта. После этого макрос станет доступен для использования на листе.
- Протестируйте функцию макроса на листе, чтобы убедиться, что она работает так, как задумано.
Импорт функций как макросов
Если к листу уже привязан скрипт, вы можете импортировать функцию в скрипт как новый макрос и назначить ему сочетание клавиш. Это можно сделать, отредактировав файл манифеста и добавив ещё один элемент в свойство sheets.macros[]
.
В качестве альтернативы выполните следующие действия, чтобы импортировать функцию как макрос из пользовательского интерфейса Таблиц:
- В пользовательском интерфейсе Google Таблиц выберите Расширения > Макросы > Импорт .
- Выберите функцию из представленного списка и нажмите «Добавить функцию» .
- Чтобы закрыть диалоговое окно, выберите .
- Выберите Расширения > Макросы > Управление макросами .
- Найдите в списке только что импортированную функцию. Назначьте макросу уникальное сочетание клавиш. Здесь также можно изменить имя макроса; по умолчанию оно совпадает с именем функции.
- Нажмите «Обновить» , чтобы сохранить конфигурацию макроса.
Структура манифеста для макросов
В следующем фрагменте файла манифеста показан раздел манифеста , определяющий макросы Google Таблиц. В разделе, посвященном sheets
, определяются имя и сочетание клавиш, назначенные макросу, а также имя функции макроса.
{
...
"sheets": {
"macros": [{
"menuName": "QuickRowSum",
"functionName": "calculateRowSum",
"defaultShortcut": "Ctrl+Alt+Shift+1"
}, {
"menuName": "Headerfy",
"functionName": "updateToHeaderStyle",
"defaultShortcut": "Ctrl+Alt+Shift+2"
}]
}
}
Более подробную информацию о том, как создаются манифесты макросов Таблиц, см. в ресурсе «Манифест макросов Таблиц».
Лучшие практики
При создании или управлении макросами в Apps Script рекомендуется придерживаться следующих рекомендаций.
- Макросы более производительны, когда они лёгкие. По возможности ограничьте количество действий, выполняемых макросом.
- Макросы лучше всего подходят для рутинных операций, которые необходимо часто повторять с минимальной настройкой или вообще без неё. Для других операций рассмотрите возможность использования настраиваемого пункта меню .
- Всегда помните, что сочетания клавиш для макросов должны быть уникальными, и на одном листе одновременно может быть не более десяти макросов с сочетаниями клавиш. Любые дополнительные макросы можно запустить только из меню «Расширения» > «Макросы» .
- Макросы, вносящие изменения в одну ячейку, можно применить к диапазону ячеек, сначала выбрав весь диапазон, а затем активировав макрос. Это означает, что зачастую нет необходимости создавать макросы, дублирующие одну и ту же операцию в заданном диапазоне ячеек.
Вещи, которые нельзя делать
Существует несколько ограничений на действия, которые можно выполнять с макросами:
Использовать макросы вне привязанных скриптов
Макросы определяются в скриптах, привязанных к конкретным Google Таблицам. Определения макросов игнорируются, если они определены в отдельном скрипте или веб-приложении .
Определение макросов в надстройках Таблиц
Распространять определения макросов с помощью надстройки «Таблицы» нельзя. Любые определения макросов в проекте надстройки «Таблицы» игнорируются пользователями этой надстройки.
Распространять макросы в библиотеках скриптов
Вы не можете распространять определения макросов с использованием библиотек Apps Script.
Используйте макросы вне Google Таблиц
Макросы — это функция только в Google Таблицах и не существуют в Google Документах, Формах или Презентациях.