Как скопировать значение одного листа на другой лист Google Script - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть лист клиента и лист счета

Когда я перехожу к листу счета-фактуры D12 и набираю идентификатор счета-фактуры, который находится в листе клиента, тогда я получаю все данные из некоторых vlookups.

Но я хочу вот что:

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

Но когда я запускаю этот скрипт, я получаю эту ошибку:

TypeError: Не удается найти функцию setActiveSheet в объекте Sheet

Кто-нибудь знает, как изменить ячейку счета D12?

function test1() {
  var ss = SpreadsheetApp.getActiveSheet();
  var row = ss.getActiveCell().getRow();
  var rowSource = ss.getRange(row, 8);
  ss.setActiveSheet(spreadsheet.getSheetByName('Invoice'), true);
  ss.getRange('D12').activate();
  ss.getCurrentCell().setValue(rowSource);
}

1 Ответ

1 голос
/ 25 апреля 2019

Примеры кода в https://developers.google.com/apps-script и других местах используют ss для хранения объекта Class Spreadsheet, а не объекта Class Sheet.

Попробуйте заменить

var ss = SpreadsheetApp.getActiveSheet();

var ss = SpreadsheetApp.getActiveSpreadsheet();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...