2

Я пишу пользовательскую функцию, которая будет использоваться в электронной таблице, и я хотел бы иметь возможность хотя бы отображать некоторые данные. Немногие вещи, похоже, работают, например Browser.msgBox не находит соответствующих разрешений.Как отладить пользовательскую функцию электронной таблицы в скрипте google?

Точки останова не прерывают выполнение.

У меня были некоторые надежды на этот код

function test() { 
    var s = "test" 
    Logger.log(s) 
    return s + s 
} 

Но когда я установил ячейку в электронной таблице, "=test()" ячейка правильно показывает значение «testtest», но когда я возвращаюсь в редактор сценариев и использовать вид> исполнение или view>logs Я ничего не вижу.

Возможно, этот журнал идет в специальный файл где-то?

+1

Попробуйте 'Spreadsheet.toast()'. – Mogsdad

ответ

2

Когда вы используете пользовательскую функцию в качестве формулы, ее можно оценивать и повторно оценивать много раз. Поэтому нецелесообразно заполнять этот вывод журнала или Execution Transcript. Если вы хотите отлаживать, вы должны запустить (или отладить) сценарий вручную из редактора сценариев.

Возьмем пример, где у вас есть две пользовательские функции - f1() и f2() И говорят, в ячейке A1, ввести формулу =f1() и A2, вы вводите =f2(A1). В таком случае обе ячейки будут переоценены. Итак, что должен показать вывод журнала?

+0

Спасибо. Я проверил это. Другие новички, такие как я, могут воспользоваться дополнительными советами о том, как тестировать пользовательскую функцию с помощью аргументов. Одним из очевидных решений является создание функции «тестера», которая вызывает функцию, подлежащую тестированию, предоставляющую аргумент. – WesR

 Смежные вопросы

  • Нет связанных вопросов^_^