我有一个Spreadsheet脚本,可以创建其他电子表格文档。我想在这些对象上设置自定义属性,理想情况下使用Properties对象。
目前:
var props = PropertiesService.getDocumentProperties()
仅返回与当前活动文档关联的Properties对象。有没有办法访问外部文档的Properties对象?
我目前唯一的解决方法是通过向其添加注释来重载标题单元格:
dataRange.setNote("foo=bar")
答案 0 :(得分:2)
有没有办法访问外部文档的Properties对象?
没有。 属性不能在脚本之间共享。 ref 脚本只能修改自己的属性(可以是ScriptProperties,UserProperties或DocumentProperties)。
但是,您可以通过函数公开脚本属性 - 例如,库可以为多个脚本提供API,以便它们可以读取&在库中编写一组公共属性。有关详情,请参阅How to pass parameter(s) to timed trigger function in library script。
您可以使用库的属性作为主脚本和从属电子表格脚本之间的通信来适应您的情况,或者您可以使用从属工作表ID作为存储在库属性中的从属工作表属性的键。
您提出的问题是XY Problem的示例,因此您对PropertiesService的关注可能无法解决您的实际问题。如果是这种情况,您可能希望提出另一个关注问题的问题,而不是可能的解决方案。