Скрипт Google Apps, не повторяющий все файлы - PullRequest
0 голосов
/ 25 сентября 2019

Следующий скрипт предназначен для перебора всех файлов в папке и 1) получения имени файла, 2) изменения строки этого имени, 3) использования этой измененной строки для получения идентификатора существующего файла.Мой скрипт делает все это, за исключением того, что он перебирает только первый файл в моей папке поиска.Я дважды проверил, что у меня есть несколько файлов в папке поиска.Я, наверное, упускаю что-то простое....

function listMsForTmp() {
// define search folder
  var sheet = SpreadsheetApp.openById("myID");           
  var value = sheet.getRange("A1").getValue();                                                   
  var searchFolder = DriveApp.getFolderById(value);                                              
  var files = searchFolder.getFiles();
// Make containers
  var names = []
  var ids = []

  while( files.hasNext()){
// get tmp file ID
    var file = DriveApp.getFileById(files.next().getId()); 
// get tmp file name                                       
    var newName = file.getName().replace("template","master"); 
// get ms ID based on tmp file                                 
    var files = DriveApp.getFilesByName(newName); 
// name vars for ms file, id and name                                               
    var file = files.next();
    var id = file.getId();
    var name = file.getName();
// store vars
    names.push(name)                                      
    ids.push(id)

      }

  Logger.log(ids)
  Logger.log(name)
}

1 Ответ

0 голосов
/ 25 сентября 2019

Попробуйте это:

function listMsForTmp() {
  var ss=SpreadsheetApp.openById("myID");           
  var sh=ss.getSheets()[0];//the left most sheet is the default if you don't choose one
  var value = sh.getRange("A1").getValue();                                                   
  var searchFolder = DriveApp.getFolderById(value);                                              
  var files=searchFolder.getFiles();
  var names = [];
  var ids = [];
  while(files.hasNext()){
    var file=files.next(); 
    var newName=file.getName().replace("template","master"); 
    ids.push(file.getId());
    names.push(file.getName());
  }

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