Google скрипт Скопировать значение результата формулы - PullRequest
0 голосов
/ 23 сентября 2018

Мне нужно скопировать три ячейки с одного листа на другой, чтобы обработать формулу на этом листе.Затем мне нужно скопировать вывод формулы на первый лист.У меня есть копия, работающая для «входных ячеек», но когда я использую ту же строку кода для ячейки формулы, она не принимает правильные входные значения.Я думал, что сначала нужно выбрать ячейку, чтобы просмотреть значения, но это не работает.Это оригинальный фрагмент кода.

var spreadsheet = SpreadsheetApp.getActive();

//copy values for formula cells
spreadsheet.getSheetByName('Sheet6').getRange(2,3).copyTo(spreadsheet.getSheetByName('student').getRange(1,1).activate(), {contentsOnly:true}); 
spreadsheet.getSheetByName('Sheet6').getRange(2,4).copyTo(spreadsheet.getSheetByName('student').getRange(2,1).activate(), {contentsOnly:true});    
spreadsheet.getSheetByName('Sheet6').getRange(2,5).copyTo(spreadsheet.getSheetByName('student').getRange(3,1).activate(), {contentsOnly:true});

//copy formula output to sheet
spreadsheet.getSheetByName('student').getRange(2,22).copyTo(spreadsheet.getSheetByName('Sheet6').getRange(2,6).activate(), {contentsOnly:true});

Спасибо

1 Ответ

0 голосов
/ 23 сентября 2018

Все изменения в ячейках буферизируются до конца обработки скрипта.Таким образом, вы захотите применить метод .flush() к электронной таблице студента.

var studentSheet = spreadsheet.getSheetByName('student');
var sourceSheet = spreadsheet.getSheetByName('Sheet6');

// copyTo rows
sourceSheet.getRange(2, 5).copyTo(studentSheet.getRange(3, 1), {contentsOnly: true});
...

SpreadsheetApp.flush(); // applies all values to the student spreadsheet
                        // and therefore all the formula cells update
// get value from calculated formula cell
studentSheet.getRange(2, 22).copyTo(sourceSheet.getRange(2, 6), {contentsOnly: true});

Документация для flush () .

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