有什么方法可以获取链接到Google表单的Google表格中的列列表?这是一个附加组件,因此我无权访问Google表单(例如,提交虚拟FormResponse
或致电getItems()
)。
仅对带有表单数据的某些列进行排序时,Google表格会引发错误:
在GAS中使用range.sort()
方法时也会发生同样的事情。
我正在尝试移动数据,在附加组件中添加列等,然后对所得数据进行排序。我想在执行所有这些操作之前先知道所选范围是否包含所有与表单链接的列,以及是否会产生错误。
我可以通过以下方式找出工作表是否包含表格数据:
var sheetContainsFormData = SpreadsheetApp.getActive().getFormUrl() != null;
但是我也想知道哪些列包含表单数据。
使用.getLastColumn()
并不完全有用,因为您可以删除列中的所有数据,并且如果您未选择(空)表单链接列,错误消息仍会出现。
由于某种原因,try/catch
无法捕获此错误,我只能从客户端的google.script.run.withErrorHandler()
中获取错误。