Google apps script 在应用程序A的Google appscript中,如何使用SpreadsheetApp的功能?

Google apps script 在应用程序A的Google appscript中,如何使用SpreadsheetApp的功能?,google-apps-script,Google Apps Script,考虑到Google表单(FormApp)的开发,在某些情况下,可能需要将相关数据(例如,从处理提交的响应中)存储在电子表格中(一个特定于应用程序脚本,而不是作为表单目的地) 使用GoogleSpreadsheet应用程序这样做可能很有用(因为它提供了查询此类数据的功能) 不幸的是,在FormApp中打开的脚本中调用SpreadsheetApp会引发错误,文档中不清楚这种跨应用程序使用是否可能 回退解决方案是使用GoogleDriveAPI访问电子表格对象,但特定的电子表格功能(管理结构化数据行、

考虑到Google表单(
FormApp
)的开发,在某些情况下,可能需要将相关数据(例如,从处理提交的响应中)存储在电子表格中(一个特定于应用程序脚本,而不是作为表单目的地)

使用GoogleSpreadsheet应用程序这样做可能很有用(因为它提供了查询此类数据的功能)

不幸的是,在
FormApp
中打开的脚本中调用
SpreadsheetApp
会引发错误,文档中不清楚这种跨应用程序使用是否可能

回退解决方案是使用GoogleDriveAPI访问电子表格对象,但特定的电子表格功能(管理结构化数据行、查询等)似乎不可用

那么,有没有办法在
FormApp
app脚本中使用电子表格功能?

您会说:“在FormApp中打开的脚本中调用SpreadsheetApp都会引发错误”

那根本不是真的

实际上,您可以毫无问题地运行使用外部电子表格数据的表单嵌入脚本。
您只需使用适当的方法打开电子表格,即
SpreadsheetApp.openByUrl('ssurl')
电子表格应用程序.openById('SS ID')
从那里,您可以打开一个工作表(
getSheetByName('name')
getSheets()[number]
)并获取值、设置值或任何您想要的内容

你在文章结尾说“有没有办法在FormApp应用程序脚本中使用电子表格功能?”

我希望您没有想到“像在单元格中使用的本机电子表格功能一样使用电子表格功能……”,因为无论您将脚本保存在何处,这些功能在Google应用程序脚本中都是不可用的。但我相信你不是那个意思,那只是语言上的歧义

作为一个简单的例子,这里有一个用表单脚本编写的小函数,它的结果是日志

function getSsData() {
  var ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1xDOaoSl3HbkS95cj8Jl-82rdiui7G0sFz96PIO6iVF4/edit#gid=0');
  var sh = ss.getSheetByName('calNames');
  Logger.log(sh.getDataRange().getValues());
}
工作表是可查看的,我没有共享表单,因为我无法仅在视图中共享它,但任何表单都可以用于测试上述脚本


你能分享一些代码吗?这会很有帮助。如前所述,对
SpreadsheetApp
的任何函数调用都会引发错误。