Google sheets gScript:将值设置为多张图纸

Google sheets gScript:将值设置为多张图纸,google-sheets,Google Sheets,尝试获取用户的提示响应,并使用该提示响应设置单元格范围的值。我让它使用下面的代码在工作表[0]上工作 function CopyToColumnE() { //Get current spreadsheet and sheet0 var source = SpreadsheetApp.getActiveSpreadsheet(); var sheet = source.getSheets()[0]; //Prompt for the data to fill into the

尝试获取用户的提示响应,并使用该提示响应设置单元格范围的值。我让它使用下面的代码在工作表[0]上工作

function CopyToColumnE() {
  //Get current spreadsheet and sheet0
  var source = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = source.getSheets()[0];


  //Prompt for the data to fill into the range
  var ui = SpreadsheetApp.getUi();
  var response = ui.prompt('Enter the value to copy to all Column E cells');
  var value = response.getResponseText();

  //Set the range of cells
  var range37 = sheet.getRange("E3:E7");
  var range1115 = sheet.getRange("E11:E15");
  var range1923 = sheet.getRange("E19:E23");

  // Call the setValue method on range and pass in our promoted response
  range37.setValue(value);
  range1115.setValue(value);
  range1923.setValue(value);
}
现在…如何在所有图纸上设置相同的范围?不仅仅是图纸[0],而是所有图纸。将使用此脚本的用户可以一时兴起添加/删除工作表

因此,提示用户输入“值”,并设置sheet0.ranges、sheet1.ranges、sheet2.ranges……等等

编辑 在Karl_的有用提示之后,我最终得到了这段代码,它工作了

function CopyToColumnE() {
  //Get current spreadsheet and sheet
  var source = SpreadsheetApp.getActiveSpreadsheet();
  //Prompt for the data to fill into the range
  var ui = SpreadsheetApp.getUi();
  var response = ui.prompt('Enter the value to copy to all Column E cells');
  var value = response.getResponseText();
  //Loop through ALL sheets in spreadsheet/workbook
  var allsheets = source.getSheets();
    for (var s in allsheets){
    var sheet=allsheets[s]



  //Set the range of cells
  var range37 = sheet.getRange("E3:E7");
  var range1115 = sheet.getRange("E11:E15");
  var range1923 = sheet.getRange("E19:E23");

  // Call the setValue method on range and pass in our promoted response
  range37.setValue(value);
  range1115.setValue(value);
  range1923.setValue(value);
}
}
.getSheets()将获取所有的工作表,因此请尝试全部阅读并循环浏览每个工作表

var allSheets = source.getSheets();

for (i in allSheets) {
  sheet = allSheets[i];
  // As a sample, this will give you the sheet name for the current sheet:
  var mayName = allSheets[i].getName();

  //  Add your code to add the data to sheet inside the loop
}

知道了!谢谢你的提示!