не может получить значение из листа Google через скрипт приложения - PullRequest
0 голосов
/ 29 февраля 2020

Я начинаю изучать, как кодировать с помощью скрипта Google App, и только что заполнил список воспроизведения codelab на Расширение Google Sheets.

Поэтому, чтобы попробовать это, я написал код с намерением получить значение из конкретная c ячейка из листа через переменную называется «OrderNum», используя Logger для регистрации переменной, которая будет содержать это значение, для проверки моего кода, но по какой-то причине я продолжаю получать «(переменная) не определена)» ошибка, и я уже пробовал несколько вещей, и ничего не работает ... что я делаю не так ?? Вот мой код:

function onOpen() {
  var ui = SpreadsheetApp.getUi();

  // Create a custom menu
  ui.createMenu('Order Functions')
    .addItem('Copy form to database',"copy2db")
    .addToUi();
}

// Pull orderNum value from sheet
function checkOrderNum() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var orderNum = sheet.getRange('H2').getValue();
}

Logger.log('var ', orderNum);

фрагмент листа Google, показывающий значение ячейки H2

Я получаю ошибку "ReferenceError: orderNum не определен) Я не понимаю, мне кажется, что все ссылки есть. Также, когда я удаляю команду logger, ошибки не появляется, но тогда я понятия не имею, верен ли мой код, что, по-видимому, нет.

Спасибо за помощь, Нестор

1 Ответ

1 голос
/ 29 февраля 2020

Вы получаете сообщение об ошибке: «ReferenceError: orderNum не определен).

Это потому, что ваш оператор Logger не является частью функции.

Logger является функцией сценариев Google, а Logger.log хорошо задокументировано.

В следующем примере я включил три версии оператора Logger.

  • Logger.log("the order number is "+orderNum);: в этом случае текст описания в кавычках, за которым следуют оператор "+" и имя переменной.
  • Logger.log('var %s', orderNum);: предложение, сделанное @Tanaike. В этом случае, '% s 'действует как заполнитель do c ref .
  • Logger.log('var ', orderNum);: это ваш оператор логгера, но на этот раз он включен в функцию.

Эти операторы возвращают эти результаты:

  • номер заказа 1001
  • var 1001.0
  • var 1001.0

// Pull orderNum value from sheet
function checkOrderNum() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var orderNum = sheet.getRange('H2').getValue();
  Logger.log("the order number is "+orderNum);
  Logger.log('var %s', orderNum);
  Logger.log('var ', orderNum);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...