Запустить скрипт приложений на листе, которого нет в текущей книге - Google Таблицы / Скрипт приложений - PullRequest
0 голосов
/ 26 мая 2020

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

Я попробовал приведенный ниже скрипт, но скрипт отсутствует в текущем редакторе электронных таблиц

 function RunScriptInAnotherSpreadsheet() {

 var target = SpreadsheetApp.openById("sheetID");

//runs the below script
 relocationtomaster();

 }

мне снится?

Я понимаю, что триггер сделает это на целевом листе - просто хотел сделать это вручную

любая помощь будет оценена

Ответы [ 2 ]

2 голосов
/ 26 мая 2020

Публикуйте sh основной скрипт (с реализацией relocationtomaster ) как библиотеку . Затем добавьте эту библиотеку в качестве зависимости к сценарию, который вы хотите запустить этот код.

Функция relocationtomaster будет доступна в контексте зависимого сценария.

Пример основного сценария (publi sh как библиотека)

function relocationtomaster(id){
  var ss = SpreadsheetApp.open(id);

  Logger.log(ss.getActiveSheet().getDataRange().getValues())

}

Пример зависимого сценария (включите приведенный выше сценарий как библиотеку)

function run(){
  relocationtomaster('1MXsIX_SprLSimqNDUlDkEvWhtQp8Kz0By1IaA5JfkSA'); // Sheet id
}

Вы можете передать spreadsheetid как параметр.

1 голос
/ 26 мая 2020

AFAIK вы должны опубликовать sh их как библиотеку и вызвать ее оттуда, вы можете посмотреть здесь как запустить функцию скрипта приложения Google из другого проекта

Mind что этот идентификатор может повлиять на производительность скрипта.

...