Как открыть электронную таблицу только по имени соответствующего файла в Google Sheets? - PullRequest
0 голосов
/ 12 февраля 2019

Мне нужен способ открыть электронную таблицу, только имея имя соответствующего файла и папку, в которой он находится.Я пытаюсь создать временную копию активной электронной таблицы и читать информацию из файла копии, а не из активной.Но, к сожалению, этот файл копии не будет иметь постоянного идентификатора и URL, так как он будет стираться каждый раз после завершения сценария и создаваться заново при следующем запуске сценария.

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

Но это бесполезно для меня, так как я этого не делаюиметь постоянный URL этого файла (так как он будет удален в конце скрипта и иметь новый URL со следующим скриптом).Но у меня есть постоянное имя файла, и это будет единственный файл в соответствующей папке.

Я также пытался найти методы, чтобы открыть файл только по его имени (то есть «temp_copy»)."в папке" temp_folder ").Но я не нашел рабочего решения.

var report = SpreadsheetApp.getActiveSpreadsheet();

var temp_folder = 
DriveApp.getFolderById("1EAsvVcFjIw5iGTeF_SxxQJLVlaLHl_pR");

DriveApp.getFileById(report.getId()).makeCopy("temp_copy", temp_folder);  

var temp_copy = SpreadsheetApp.openByUrl('  ');

var hiddenSheet = temp_copy.getSheetByName('DATE');

var lastRow = hiddenSheet.getSheetValues(1,1,1,1);

var sheet = temp_copy.getSheetByName('forCSV');

var lastColumn = sheet.getLastColumn();

var activeRange = sheet.getRange(1,2,lastRow,lastColumn);

В результате я ожидаю сделать ссылку между 3-й строкой кода (при создании копии основного файла) и 5-й строкой кода (при ссылке на конкретный код).диапазон от временного файла), только используя имя файла или соответствующей папки.Теоретически это кажется таким простым, я должен что-то упустить ...

Большое спасибо заранее!

1 Ответ

0 голосов
/ 12 февраля 2019

Вы можете использовать DriveApp, чтобы получить FileIterator, который содержит лист.

var file, files = DriveApp.getFilesByName("temp_copy");

if (files.hasNext ()){
   file = files.next(); // Get first result for name
} else {
   return "";
}

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