"Бібліотечне рішення" - це насправді найкраща ставка. Це не так складно, як це звучить, але це потребує трохи разової роботи.
Спочатку ви створюєте свій скрипт в одній електронній таблиці (назвемо це " Основна електронна таблиця").
Збережіть версію сценарію, натиснувши Файл → Керування версіями в редакторі сценаріїв, і дайте назву версії:
Закрийте це діалогове вікно та перейдіть до Файл → Властивості проекту . Тут знайдіть ключ Project , який є начебто випадковою комбінацією символів:
Скопіюйте або візьміть на замітку ключ проекту.
Коли ви створили нову електронну таблицю і хочете повторно використовувати скрипт, перейдіть до редактора сценаріїв і натисніть Ресурси → Бібліотеки (якщо ви не зберегли новий сценарій, вам буде запропоновано зробити це зараз).
У полі Знайти бібліотеку вставте ключ проекту з головного проекту (1) та натисніть кнопку Вибрати (2):
Це буде заповнити список з вашим Майстром сценарієм. Дайте йому більш дружнє ім’я (3) та увімкніть режим розробки (4) (це дозволить налагодити бібліотеку). Виберіть останню версію сценарію (5).
Тепер ви можете використовувати функції з включеної бібліотеки у новому сценарії. Просто додайте будь-які імена функцій до імені, яке ви вказали в (3), так що якщо ви визначили свою бібліотеку як MyLibrary
і ваша бібліотека має функцію, myFunction
яку ви хочете зателефонувати, ви телефонуєте MyLibrary.myFunction()
.
Коли ви хочете оновити свою бібліотеку, ви просто зробите це і збережіть файл. Будь-які сценарії, які залежать від бібліотеки, побачать оновлений код бібліотеки.
Я просто спробував цю вправу як доказ:
- Налаштування бібліотеки з функцією:
function myFunction() {return "Foo"}
- Включіть його в інший сценарій, ідентифікуючи бібліотеку як
MyLibrary
- Викликана функція бібліотеки за допомогою
Logger.log(MyLibrary.myFunction)
- Відобразиться журнал
Foo
- Відредагував бібліотеку:
function myFunction() {return "Bar"}
- Повторно запустивши скрипт, що включає, тепер відображається журнал
Bar
Тож це дійсно досить просто після початкової установки. Дивіться цю папку на моєму Диску Google для реального прикладу.
Також дивіться документацію Google для бібліотек .