首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌脚本setValue

谷歌脚本setValue
EN

Stack Overflow用户
提问于 2015-08-26 09:17:02
回答 1查看 5.5K关注 0票数 1

我正在努力学习如何使用Google脚本处理Google电子表格中的单元格。我了解到,

自定义函数返回值,但它们不能在它们所在的单元格之外设置值。在大多数情况下,单元格A1中的自定义函数不能修改单元格A5。但是,如果自定义函数返回双数组,则结果会溢出包含函数的单元格,并填充包含自定义函数的单元格下方和右边的单元格。您可以使用包含return [1,2,3,4]的自定义函数来测试这一点;

所以我在单元格C14中调用函数

代码语言:javascript
复制
function test(input){
  var secondCell = SpreadsheetApp.getActiveSheet().getRange("C14").setValue("Ahoj");
  return secondCell.getValue();
}

仍然会有错误

您没有权限调用setValue

我甚至不能在调用函数的单元格中设置数据。

有人知道为什么这不管用吗?

编辑:

我读过可能重复的Why can't you use setValue in a custom function?

但这并不能解决我的问题。

不想编辑其他的单元格。我只想编辑包含公式的原始单元格。根据引用的文本,我应该可以编辑单元格,如果它是包含公式的原始单元格。但是我的例子是返回错误,即使它只访问自己。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-26 15:02:01

您的代码没有任何意义,您在C14中将值逐步设置为"Ahoj",然后得到这个已经知道的变量,并尝试返回它以在您刚刚尝试将值设置为“Ahoj”的单元格中设置,这将替换您刚才运行这个函数时使用的函数。这几乎是个悖论。

如果造成混乱,您可以得到C14的值,但是不能在C14中调用该函数,或者如果您想将C14的值设置为"Ahoy",那么在该函数中所需要的就是:

代码语言:javascript
复制
function test(input){
  return 'Ahoj';
}

如果您希望另一个单元格具有C14的值,那么:

代码语言:javascript
复制
function test(input){
  return SpreadsheetApp.getActiveSheet().getRange('C14').getValue();
}

返回的值将是新的单元格值,它不是通过setValue完成的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32222581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档