Получить значения из электронной таблицы в родительской папке, расположенной по имени - PullRequest
0 голосов
/ 29 апреля 2019

Мне нужно найти родительскую папку активной электронной таблицы, чтобы найти файл с указанным именем «event_form_responses», чтобы получить значения из него и использовать эти значения на другом листе. Отладка приведенного ниже сценария возвращает следующую ошибку: «Не удается найти функцию getSheetByName в объекте export_form_responses». Что я делаю не так?

function SSbyName(){

//get current folder id
var ss = SpreadsheetApp.getActive();
var directParents = DriveApp.getFileById(ss.getId()).getParents();

while( directParents.hasNext() ) {
  var folder = directParents.next();
  var folderId = folder.getId();


//get files in folder
var parent = DriveApp.getFolderById(folderId);
var search = 'title contains "export_form_responses"';
var specificFile = parent.searchFiles(search);


while (specificFile.hasNext()) {
  var file = specificFile.next();
  var filesheet = file.getSheetByName("Sheet1");
  var responserow = filesheet.getLastRow();
  var responsecolumn = filesheet.getLastColumn();
  var rawform = ss.getSheetByName("RAWFORM");
  var target = rawform.getLastRow();
  var content = filesheet.getRange(responserow, 1, 1, responsecolumn).getValues();

  rawform.getRange(1, 1, 1, responsecolumn).setValues(content);

}
}
}

1 Ответ

2 голосов
/ 29 апреля 2019
var filesheet = file.getSheetByName("Sheet1");

Эта строка кажется неправильной, потому что у файлового объекта (диска Класс файла ) нет метода "getSheetByName".Попробуйте использовать этот код вместо:

var filesheet = SpreadsheetApp.openById(file.getId()).getSheetByName("Sheet1");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...