Google 电子表格无法从 0 读取属性

Google Spreadsheet impossible to read attribute from 0

你好,我有几个 2018 年的项目 Google 文档,我想将他们所有的 URL 放在 A 列的 Google 电子表格中,就像这里一样,这样文档电子表格是空的

这是我写的函数,错误是他不能从0读取属性请问如何解决?非常感谢。

function copy_Docs_2018_vers_Tableau() {
  
  /** on regarde le folder de départ ici FOLDER_ID où on a les documents Google Docs avec les fiches projet 2018 **/
  var folder = DriveApp.getFolderById(FOLDER_ID); 
  Logger.log('Folder name  ' + folder.getName());
  
  /** on va utiliser les URLs  **/
  var docURLs = [];
  
  var files = DriveApp.getFolderById(FOLDER_ID).getFilesByType(MimeType.GOOGLE_DOCS);
  var file;
  
  while (files.hasNext()){
    file = files.next();
    docURLs.push(file.getUrl());
    Logger.log('File URL  ' + file.getUrl());
  }
  Logger.log(docURLs); // message pour voir si on a qq URLs pour la vérification
  
  /** Le Spreadsheet avec la feuille de calcul + les nombres de lignes & colonnes **/
  var tss = SpreadsheetApp.openById(SPREADSHEET_ID);
  var sheet = tss.getSheets()[0];
  var numRows = sheet.getMaxRows();
  var lastColumn = sheet.getMaxColumns();
  
  // ? à reflechir si on a déja du contenu dans le document ce qu'on aura pour les autres colonnes si on va garder l'ordre des données ou on va le melanger après
  var data = sheet.getRange(2,1,numRows,lastColumn);
  
 

  
  
  for (var i = 1; i < docURLs.length; i++ ) {
    
    /**  prémierement on va insérer le URL du Google Doc **/
    
    data[i][0].setValue(docURLs[i]); 
    sheet.autoResizeColumn(COLUMN_URL);                          //comme le URL est long on va ajuster la colonne 
    
我按照评论中的建议处理了日志谢谢你在日志中我是 1 和同样的错误

  1. 将行 docURLs.push(file.getUrl()); 更改为 docURLs.push([file.getUrl()]);
  2. var data = sheet.getRange(2,1,numRows,lastColumn);更改为var data = sheet.getRange(2,1,docURLs.length,docURLs[0].length);
  3. 删除for循环
  4. 使用 setValues() 批处理方法来加快执行速度:data.setValues(docURLs);

在您的原始代码中,data 是一个 范围,您不能像处理数组那样遍历它。如果您不想进行批处理操作,而是更喜欢逐个打印每个 URL,我建议您使用 appendRow() 函数。因此,您可以将 data[i][0].setValue(docURLs[i]) 替换为 sheet.appendRow(docURLs[i])

,而不是上面的第 3 步和第 4 步