【问题标题】:Automating Sheet Creation in newly created Google Sheet+Form在新创建的 Google Sheet+Form 中自动创建工作表
【发布时间】:2015-11-10 05:31:13
【问题描述】:

我正在尝试创建一个脚本,将 Google 表单 响应表添加到新创建的 Google 表,然后在同一个电子表格中创建后续表。工作表在创建时命名。到目前为止,这是我的代码:

var statusSheet, form, ss = SpreadsheetApp.openById("SPREADSHEET_ID")
if (ss.getFormUrl() == null){
form = FormApp.create("NEWFORM")
    .setCollectEmail(true)
    .setProgressBar(false)
    .setRequireLogin(true)
    .setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId())
Utilities.sleep(3000)
  }
  else{form = FormApp.openByUrl(ss.getFormUrl())}
  if (ss.getSheets()[1].getRange("A1").getValue() != 'Status'){
ss.getSheets()[1].setName("Status")
.getRange("A1:C8")
.setValues([["Status",'',"Staff"],["Staff",'',"Student"],["Students",,"building"],["Penalty Box",'',"scope"],["Current Offenders",'',"formCreated"],["Audit Log",'',"formPopulated"],['','',"TimeTrigger"],["Form ID",'',"EditTrigger"]])
Utilities.sleep(3000)
  }
  statusSheet = ss.getSheetByName("Status")
  ss.setActiveSheet(ss.getSheets()[(ss.getSheets().length)-1])
while (ss.getSheets().length < 7){
var newSheet = ss.insertSheet()
var range = statusSheet.getRange(newSheet.getIndex(),2, 1, 1)
range.setValue(newSheet.getSheetId())
newSheet.setName(statusSheet.getRange(newSheet.getIndex(),1, 1, 1).getValue())
Logger.log(newSheet.getName())
}
  var staffSheet = ss.getSheetByName("Staff")
  var studentsSheet = ss.getSheetByName("Students")
  var PenaltyOUSheet = ss.getSheetByName("OrgUnits")
  var currentBoxUsersSheet = ss.getSheetByName("Current Users")
  var auditLogSheet = ss.getSheetByName("Audit Log")

似乎所有工作表都已创建,“员工”除外。无论是创建表单和/或在执行函数之前还是在执行期间填充值都是这种情况。更糟糕的是,for 循环中的 Logger 没有记录错误。

我已尝试将整个函数封装在 try/catch 语句中,但除了对 staffSheet 的引用失败之外,没有任何迹象表明错误可能是什么,因为没有工作表被命名为“Staff”。

【问题讨论】:

    标签: google-apps-script google-sheets google-spreadsheet-api google-forms


    【解决方案1】:

    将复制的范围向下移动一行解决了该问题。我不确定为什么它跳过了员工表而不是审计日志,但我会在其他所有问题都修复后弄清楚。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多