获取附加到电子表格的表单

时间:2014-06-24 09:19:50

标签: google-apps-script google-apps

我正在使用google SS的“新”版本。

我想将表单附加到我所在的电子表格中,如下所示:

function findFormURL() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  return ss.getFormUrl();
}

但是,此功能在新版本中尚未使用。

无论如何,它提供了表单的URL,这很有趣,但我希望有表单ID或对象,以便我可以使用它,更改一些东西等等。这可能吗?

1 个答案:

答案 0 :(得分:0)

这确实令人讨厌,但有一种方法可以使用驱动器搜索功能来解决这个缺失的功能...我使用下面的代码对其进行了测试并且它有效。

我同意这远非理想,并且需要有一个与电子表格具有相同唯一名称的表单,但它比没有更好。

function getFormTest() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var nameToSearch = ss.getName();
  Logger.log('title contains "'+nameToSearch+'"');
  var forms = DriveApp.searchFiles('title contains "'+nameToSearch+'"');
  while (forms.hasNext()){
    var formDoc = forms.next();
    Logger.log(formDoc.getMimeType());
    if(formDoc.getMimeType()=='application/vnd.google-apps.form'){ 
      break;
    }
  }
  Logger.log('formDoc = '+formDoc);
  var form = FormApp.openById(formDoc.getId());
  var items = form.getItems();
  for(var i in items){
    Logger.log(items[i].getTitle()+'  '+items[i].getType());
  }
}