TypeError: sheet.appendColumn не является функцией - PullRequest
1 голос
/ 05 мая 2020

Успешно использовал appendRow для добавления новой строки, но попытка с appendColumn просто не сработала. appendColumn также находится в таблице классов, но почему он не работает?

function recordValueMarket() {
   var market = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("market");
   var importFromWeb = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("importFromWeb");
  var date = new Date();
  var SYMB1 =importFromWeb.getRange("importFromWeb!E2").getValue();
  var SYMB2 =importFromWeb.getRange("importFromWeb!E3").getValue();
  var SYMB3 =importFromWeb.getRange("importFromWeb!E4").getValue();
     market.appendRow([date, SYMB1, SYMB2, SYMB3]);
}

1 Ответ

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

Я считаю, что ваша цель следующая.

  • Вы хотите поместить значения date, SYMB1, SYMB2, SYMB3 на лист в качестве столбца добавления.

Для этого, как об этом ответе?

Я думал, что appendColumn из appendColumn is also in Class Table, может быть таблицей классов в сервисе Slides. Ссылка Если вы хотите поместить значения в Google Spreadsheet в качестве столбца добавления, как насчет этой модификации?

Измененный скрипт 1:

Когда ваш скрипт будет изменен, пожалуйста измените следующим образом.

От:
market.appendRow([date, SYMB1, SYMB2, SYMB3]);
Кому:
var values = [[date], [SYMB1], [SYMB2], [SYMB3]];
market.getRange(1, market.getLastColumn() + 1, values.length, 1).setValues(values);

Измененный сценарий 2:

В этой модификации значения извлекаются из «E2: E4» листа importFromWeb . И полученные значения помещаются на лист market в качестве столбца добавления. Я думаю, что стоимость этого процесса немного ниже, чем у модифицированного выше скрипта.

function recordValueMarket() {
  var market = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("market");
  var importFromWeb = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("importFromWeb");
  var values = importFromWeb.getRange("E2:E4").getValues();
  values.unshift([new Date()]);
  market.getRange(1, market.getLastColumn() + 1, values.length, 1).setValues(values);
}

Ссылки:

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