Активируйте и запустите записанный макрос для нескольких таблиц / книг Google. - PullRequest
1 голос
/ 06 июля 2019

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

Есть ли способ активировать и запустить записанный макрос для всех электронных таблиц?

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

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

1 Ответ

1 голос
/ 06 июля 2019

Есть ли способ активировать и запустить записанный макрос для всех электронных таблиц?

Строго говоря, единственный способ запустить макрос Google Sheets - это пользовательский интерфейс Google Sheets, но макросыкод может выполняться так же, как любой другой код скрипта Google Apps.

Чтобы этот ответ был коротким и полезным, забудьте о запуске функций, сохраненных в каждой электронной таблице, и используйте «основной» проект скрипта Google Apps..

Об этом "главном проекте" в очень широком смысле:

  1. Получите список электронных таблиц (для этого вы можете воспользоваться службой Google Apps Script Drive).
  2. Выполните цикл по списку электронных таблиц, чтобы выполнить то, что вам нужно для каждого из них

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

Для выполнения цикла наиболее распространенным способом является использование оператора цикла for, но вы можете использовать другиеоператоры и методы Array, например Array.prototype.forEach

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

Лучшей альтернативой может быть создание надстройки редактора G Suite, поскольку они устанавливаются один раз и доступны во всех электронных таблицах (или документах, формах, слайдах) для пользователя, который установил надстройку, и для пользователей.электронных таблиц, в которых используется надстройка.

Примечания

Обычно макросы, созданные с помощью устройства записи макросов, работают очень медленно, поскольку обычно включают "активацию" каждый раз, когда лист и диапазонбыла нажата во время записи, в том числе activeSpreadsheet(), activeSheet(), которые должны быть заменены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...