取消表格与表格的链接

Mao*_*iel 4 google-sheets google-apps-script google-forms

我有一个 Google 表格电子表格,其中有几张表格:“表格回复 1”、“表格回复 2”、“表格回复 3”和“表格 1”。我写了一个代码,删除除“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--;
 }  
}
Run Code Online (Sandbox Code Playgroud)

谢谢。

Jua*_*ana 7

Menu bar -> Form-> Unlink form 在响应表中:

在此处输入图片说明

  • 我知道如何在整个 UI 中做到这一点,但是有没有办法用脚本来做到这一点? (2认同)
  • 还没有办法以编程方式做到这一点:https://code.google.com/p/google-apps-script-issues/issues/detail?id=3433 (2认同)

小智 6

使用解决方法如下;

var formUrl = SpreadsheetApp.getActive().getActiveSheet().getFormUrl();
if (formUrl)
  FormApp.openByUrl(formUrl).removeDestination();
Run Code Online (Sandbox Code Playgroud)

即使表单已被丢弃,这也将起作用;

DriveApp.getFileById(id).setTrashed(true);
Run Code Online (Sandbox Code Playgroud)

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