取消表格与表格

时间:2016-06-30 12:31:21

标签: google-apps-script google-sheets google-form

我有一张Google工作表电子表格,其中包含几张名为:"表单回复1","表单回复2","表单回复3"和" Sheet1"。 我写了一个删除所有工作表的代码,除了" Sheet1":

当我运行该功能时,它会给我一个错误:

  

您无法删除包含链接表单的工作表。请先取消表格链接。

如何取消表格与表格的关联? 请参阅下面函数的代码。

function clearForms()
{


  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var numsheets = ss.getNumSheets()-1;
  var sheets = ss.getSheets();


  var i=numsheets;

  while (i >=0)
 {
   if ( sheets[i].getName() != "Sheet1") {
      Logger.log(sheets[i].getName()+" Deleted");
      ss.deleteSheet(sheets[i]);
   }
   i--;
 }  
}

感谢。

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

如果表单与任何Google表单相关联/链接,则无法删除表单, 打开该表单 - >转到“表单”=>“取消链接表单”菜单。现在您可以成功运行脚本。

答案 2 :(得分:0)

使用以下解决方法;

var formUrl = SpreadsheetApp.getActive().getActiveSheet().getFormUrl();
if (formUrl)
  FormApp.openByUrl(formUrl).removeDestination();

即使使用“表单”已将其丢弃,这仍将起作用;

DriveApp.getFileById(id).setTrashed(true);

但是,如果文件已被永久删除,仍然无法正常工作。