Скрипт Google Apps Запуск скрипта из кода другого листа - PullRequest
0 голосов
/ 14 января 2020

У меня есть несколько листов, настроенных на разные вещи. У меня есть контрольный лист, предназначенный для работы с этими листами, один из которых - запустить скрипт, который находится на целевом листе (то есть не на контрольном листе). Есть ли способ, с помощью которого я могу получить контрольный лист для запуска сценария целевого листа?

Например, в Target Sheet "TargetOne" у меня есть прикрепленный код, который запускает "SubroutineOne".

function SubroutineOne() {

    doSomething();

}

И в контрольном листе я хотел бы иметь что-то вроде этого.

function ControlCode() {

    setSomething();

    run TargetSheet.SubroutineOne();

    reportSomething();

}

Есть ли еще способ сделать это? Спасибо за чтение.

1 Ответ

0 голосов
/ 14 января 2020

Нет прямого способа сделать это. Если вы хотите вызывать другие проекты Apps Script, вам нужно импортировать их как библиотеки.

Для этого опубликуйте sh Script в Целевом листе и используйте его. Посмотрите в документации , чтобы узнать, как это сделать.

Если у вас несколько листов, это может стать очень запутанным решением. Вместо этого вы можете использовать один «мастер» листы и использовать функцию openById(id) для доступа к листам, которыми вы хотите манипулировать. Это также позволяет вам изменять все листы из одного скрипта.

Еще одно решение - развернуть целевой лист как веб-приложение и добавить код, который вы будете sh выполнять для вызовов doPost() или doGet(). Будьте осторожны с этим решением, так как вам придется реализовать элементы управления, чтобы избежать дублирования вызовов или вызовов кого-либо еще.

Наконец, вы можете попробовать использовать Apps Script API для непосредственного выполнения вызов, чтобы выполнить его.

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