检查 Google 表单是否包含目标电子表格



我正在尝试使用Google应用程序脚本从表单中获取信息,但我认为检查并查看表单是否已经附加了目标电子表格是个好主意。 如果是这样,我想获取ID,如果没有,我想创建一个。 每次我运行下面的代码时,去虫器都会抛出一个错误,告诉我"表单当前没有响应目标"。

请帮忙

    var form = FormApp.getActiveForm();
    var formName = form.getTitle();

    function randomQuestion() {
      var theFormID = form.getId();
      var sheetID = function sheetID() {
      if ( form.getDestinationId() === 'undefined' ) {
          var ss = SpreadsheetApp.create(formName + ' (Responses)');
          form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());
          return form.getDestinationId();
      }else {
       return form.getDestinationId();}
      }
    var sheet = sheetID();
    g;  // <-un-comment this to make the de-bugger throw an error =)
    }

这是我用来测试是否有响应电子表格的代码,如果没有,则创建一个。

    var form = FormApp.getActiveForm();
    var formName = form.getTitle();
    var ssID;
    try {
      ssID = form.getDestinationId();
    }
    catch(e) {
      var exception = e.name;
      if (exception === "Exception" ){
        var ss = SpreadsheetApp.create(formName + ' (Responses)');
        form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());
        ssID = form.getDestinationId();
      }else{
        ssID = form.getDestinationId();
      }
    }

当窗体没有响应目标时,该方法getDestinationId()引发异常。您需要尝试处理此问题...捕获,例如:

...
var form = FormApp.getActiveForm(), idResponse;
try {
  idResponse = form.getDestinationId();
}
catch(e) {
  // TODO
}
...

最新更新