根据列中的新名称创建一个新工作表

时间:2018-11-16 01:48:43

标签: google-apps-script google-sheets

我想拥有一个脚本,该脚本会自动在onSubmit列中搜索人员姓名,然后根据该姓名将该行复制到工作表中。如果工作表不存在,我希望它是自动创建的,则将名称输入到C列中。我在StackOverflow上可以找到的唯一答案是当您知道将出现什么名称时。我不知道名字叫什么。我通过@CharlesHale尝试了此代码,但无法将其命名为新工作表。到目前为止,这是我的代码:

 function onFormSubmit() {
  // onFormSubmit
  // get submitted data
  var ss = SpreadsheetApp.openById('1eCdLnyx9Y2159gS0yVUxZLRsZSHxEGw0zUp5MqdSHVw');
  var sheet = ss.getSheetByName("Form responses 1");
  var row = sheet.getLastRow();
  var Col = sheet.getLastColumn();
  var headings = sheet.getRange(1,1,1,
Col).getValues();
  var lastRow = sheet.getRange(row, 1, 1, Col);
  var name = sheet.getRange(row, Col).getValue();
  // check if username has sheet
  if(ss.getSheetByName(name)){
    var userSheet = ss.getSheetByName(name);
    // if not make
  } else {
   var userSheet = ss.insertSheet(name);
    userSheet.getRange(1,1,1,
headings[0].length).setValues(headings);
  }
  // copy submitted data to user's sheet
  userSheet.appendRow(lastRow.getValues()[0]);
  userSheet.setColumnWidth(1, 500);
  userSheet.setColumnWidth(2, 500);
  var FormatSheet = ss.getSheetByName(name);
  var FormatRange = FormatSheet.getRange(1,1);
  FormatRange.copyFormatToRange(userSheet,1,3,3,28);
}

我附上了床单供参考。 Feedback form responses

谢谢!

0 个答案:

没有答案