Google Script setValue权限

zyr*_*rup 17 permissions google-sheets google-apps-script custom-function

我正在尝试为google docs电子表格中的单元格设置一些值.

function exampleFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var range1 = sheet.getRange("A1");
  var value1 = range1.getValue();
  value1+=1;
  range1.setValue(2);
  return value1;
}
Run Code Online (Sandbox Code Playgroud)

如果我试图影响具有此功能的单元格,则会出现此错误:

您没有setValue所需的权限.(第10行,文件"ddd")

你知道我怎么能做到这一点吗?我实际上希望受影响的单元格获取单元格A1的值并增加A1 +1的值.

谢谢

Ser*_*sas 26

从文件:

自定义函数返回值,但它们不能在它们所在的单元格之外设置值.在大多数情况下,单元格A1中的自定义函数无法修改单元格A5.但是,如果自定义函数返回一个double数组,则结果会溢出包含该函数的单元格,并填充包含自定义函数的单元格下方和右侧的单元格.您可以使用包含return [[1,2],[3,4]];的自定义函数对此进行测试.

reference:Spreadsheets中的自定义函数

  • 那么,.setValue()方法的目的是什么?这没有意义. (27认同)
  • 我没说"脚本",我说电子表格单元格中使用的自定义函数.请阅读文档的第一页:脚本类型. (2认同)

Rub*_*bén 5

您似乎将上述函数用作自定义函数,换句话说,它是通过Google表格用户界面上的单元格公式通过以下方式调用的:

=exampleFunction()
Run Code Online (Sandbox Code Playgroud)

Google表格中的自定义功能具有局限性,例如不能用于调用需要权限的Google Apps脚本服务。解决方法是使用另一种方法来调用该函数:

也可以从对话框和侧边栏,Google Apps Script Web应用程序以及使用Google Apps Script执行API调用它们