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