【问题标题】:You do not have permission to call setDataValidation [duplicate]您无权调用 setDataValidation [重复]
【发布时间】:2016-07-28 17:03:01
【问题描述】:

我正在尝试使用自定义函数。每当我尝试将其用作工作表中的公式并在单元格上运行时,它都会引发错误:

您无权调用 setDataValidation

但是当我从脚本编辑器运行它时,它运行得非常好。如何在不从脚本编辑器中单击 Run 的情况下使其工作?

注意:我不喜欢使用触发器。

【问题讨论】:

  • 您是否试图影响除返回值的单元格以外的单元格? Doc: Return values
  • @ocordova 没有。它仅适用于调用公式的单元格。

标签: google-apps-script google-sheets google-sheets-formula google-sheets-custom-function


【解决方案1】:

SpreadsheetApp 服务在使用自定义函数调用时是只读的

Ocordova 的想法是正确的。 article he cited 讨论了 SpreadsheetApp 服务是如何...

只读(可以使用大多数get*() 方法,但不能使用set*())。 无法打开其他电子表格(SpreadsheetApp.openById()SpreadsheetApp.openByUrl())。

如果您希望能够编辑单元格,则需要从自定义菜单中调用函数。

【讨论】:

  • 我没有使用openById(),也没有使用openByUrl(),而是使用getActiveSpreadsheet(),但我仍然收到错误消息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-15
  • 2018-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多