- В вашей ситуации
code.gs
и code2.gs
находятся в проекте с привязкой к контейнеру типа Google Document.
Если мое понимание верно, как насчет этого? ответ? Пожалуйста, подумайте об этом как об одном из нескольких ответов.
Точки изменения:
В вашем скрипте скрипты code.gs
и code2.gs
используются как один проект в редакторе скриптов. Итак, в вашем скрипте есть 2 одинаковые функции onOpen()
в проекте. В этом случае только один из них запускается. В вашем случае onOpen()
из code2.gs
запускается и возникает ошибка ReferenceError: "A" is not defined.
.
Модифицированный скрипт:
Если вы хотите изменить свой скрипт и хотите работать сфункционирует при открытии Документа Google, как насчет следующей модификации?
1. Скопируйте и вставьте следующий скрипт в code.gs
и code2.gs
редактора скриптов:
code.gs:
var ui = DocumentApp.getUi();
function installedOnOpen () {
A = prompt('Hello'); // or ui.prompt('Hello').getResponseText();
sample(A);
}
code2.gs:
function sample (A) {
if (A === "123") {
ui.alert('Hello')
}
}
Или, если вы хотите независимо запустить 2 функции,как насчет следующей модификации? В этой модификации значение сохраняется с помощью PropertiesService.
code.gs:
var ui = DocumentApp.getUi();
function installedOnOpen () {
A = prompt('Hello'); // or ui.prompt('Hello').getResponseText();
PropertiesService.getScriptProperties().setProperty("key", A);
}
code2.gs:
function sample () {
var A = PropertiesService.getScriptProperties().getProperty("key");
if (A === "123") {
ui.alert('Hello')
}
}
Или вы также можете изменить его следующим образом. Но в вашей ситуации это может не потребоваться.
function installedOnOpen () {
var ui = DocumentApp.getUi();
var A = ui.prompt('Hello').getResponseText();
if (A === "123") {
ui.alert('Hello');
}
}
2. Установите триггер события OnOpen:
Чтобы запустить функцию installedOnOpen
при открытии документа Google, , установите триггер события OnOpen на функцию installedOnOpen
в качестве устанавливаемого триггера.
3. Запустить скрипт:
В вашем случае есть 2 шаблона для запуска скрипта.
Шаблон 1:
Открыть Google Document.
Шаблон 2:
Выполнить installedOnOpen
в скриптередактор.
Выше, installedOnOpen
выполняется. И вы можете увидеть диалог в Google Document.
Примечание:
- Эта модификация предполагает, что функция
prompt()
возвращает значение 123
в качестве строкового значения. - Если вы не можете предоставить сценарий
prompt()
, в качестве контрольного примера, как насчет изменения с prompt('Hello');
на ui.prompt('Hello').getResponseText();
?
Ссылки:
Если я неправильно понял ваш вопрос и это не то направление, которое вам нужно, я приношу свои извинения.