簡體   English   中英

遍歷文件夾中的所有電子表格並使用此代碼進行編輯?

[英]Iterate through all spreadsheets in the folder and edit with this code?

我想循環遍歷給定文件夾中所有電子表格提供的代碼。 我只是不確定如何去做。 我嘗試通過各種方式遍歷文件夾錯誤。 我嘗試了10種不同的變化。

我將使用一個獨立的腳本,該腳本可以插入文件夾的ID號。 有任何想法嗎? 非常感謝您可以提供的任何幫助。 我還在學習,但是越來越好。 :)布蘭登

 function dataUpdate() { var ss = SpreadsheetApp.getActiveSpreadsheet(); // Trying to iterate through all spreadsheets in a folder rather than using .getactivespreadsheet(). var sheet = ss.getSheets()[0]; var cell = sheet.getRange(2,7); var sheets = ss.getSheets()[3]; var cell1 = sheets.getRange(7,8); var cell2 = sheets.getRange(7,9); cell.setValue('RTI') sheets.setName("RTI Data"); sheets.getRange(4, 8).setValue('Cell Value'); sheets.getRange(5, 8).setValue('1'); sheets.getRange(6, 8).setValue('2'); sheets.getRange(7, 8).setValue('3'); sheets.getRange(5, 9).setValue('Tier 1'); sheets.getRange(6, 9).setValue('Tier 2'); sheets.getRange(7, 9).setValue('Tier 3'); cell1.setHorizontalAlignment("center").setBackground("#f0f0f0"); cell2.setHorizontalAlignment("center").setBackground("#f0f0f0"); } 

尋找getFolderById()或getFoldersByName(),再加上SpreadsheetApp.openById(),您將很容易發現。

編輯:存根:

// Iterates trough all files in given folder and logs the A1 in the first sheet in all of them
var folderId = "sdoijawodkhqoud98y12eh";
var folder = DriveApp.getFolderById(folderId);
var files = folders.getFiles();
while (files .hasNext()) {
  var file = files.next(),
      ss = SpreadsheetApp.openById(file.getId()),
      sheet = ss.getSheets()[0],
      A1Value = sheet.getRange("A1").getValue();
  Logger.log(A1Value);
}

另外,嘗試一次使用多個范圍,不要做很多setValue()和getValue(),而是使用array,我將其視為這樣:

sheetRange = ss.getRange(1, 1, 7, 9); 
sheetVals = sheetRange.getValues();
sheetVals[ 1 ][ 6 ] = "RTI"
sheetVals[ 3 ][ 7 ] = "Cell Value"

// ... and so on...

sheetRange.setValues(sheetVals);
sheets.getRange(7, 8, 1, 2).setHorizontalAlignment("center").setBackground("#f0f0f0");

如最佳做法所示: https : //developers.google.com/apps-script/best_practices

暫無
暫無

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

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