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