簡體   English   中英

GAS掃描文件夾中的所有電子表格,並更改特定的單元格值和工作表名稱?

[英]GAS Scan all spreadsheets in folder and change a specific cell value and sheet name?

 function getAllSheetsInFolder () { var folder = DriveApp.getFolderById("ID"); var contents = folder.getFiles(); Logger.log("file length: " + contents.length); var file; var data; var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Class Data") sheet.clearContents(); var numOfFiles = contents.length; for (var i = 0; i < numOfFiles; i++) { file = contents[i]; Logger.log("count: " + i); //Reset to null on every iteration var onecell = null; var theRange = null; var theFileType = file.getFileType(); Logger.log("theFileType: " + theFileType); if (theFileType==DocsList.FileType.SPREADSHEET) { var sheet = SpreadsheetApp.open(file).getSheets()[0]; var cell = sheet.getRange(2,7); cell.setValue('RTI') }; } } } 

我希望編寫一種GAS,它可以掃描文件夾中的所有電子表格並更改每個電子表格中單元格(G2)的值。 是否可以將其設置為掃描文件夾和子文件夾中的所有電子表格? 或者只是特定文件夾中的每個電子表格。

我還希望更改每個電子表格中第4張紙的名稱。 我只是想看看你們是否認為在我開始弄亂某些代碼之前這是有可能的。

這里有一些代碼獲得對文件夾的引用,並循環遍歷該文件夾以查找電子表格文件。

function getAllSheetsInFolder () {
  var folder = DriveApp.getFolderById("Your Folder ID");
  Logger.log('folder: ' + folder);

  var sheetFiles = folder.getFilesByType("application/vnd.google-apps.spreadsheet");
  Logger.log("sheetFiles.hasNext(): " + sheetFiles.hasNext());

 while (sheetFiles.hasNext()) {
   var file = sheetFiles.next();

   var theFileType = file.getMimeType();
   Logger.log("theFileType: " + theFileType);


   var ssID = file.getId();
   Logger.log('ssID: ' + ssID);

   var thisSS = SpreadsheetApp.openById(ssID);

   var sheet = thisSS.getSheets()[0];

   var cell = sheet.getRange(2,7);
   cell.setValue('Test Cell Set')
  };
};

此代碼結合使用DriveApp來獲取特定文件夾中的電子表格文件列表,然后使用SpreadsheetApp實際打開電子表格文件並將值寫入單元格。

現在不推薦使用DocsList類。 我的原始代碼使用的是DocsList而不是DriveApp ,但是它們有很大的不同。 DriveApp可以獲取文件夾,文件列表,以及設置和獲取其他文件信息,但是DriveApp無法打開電子表格文件。 您必須使用SpreadsheetApp打開電子表格文件。 因此,代碼必須首先獲取文件夾,然后獲取文件夾中所有電子表格的列表以及每個電子表格的ID。 然后按ID打開電子表格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM