Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 谷歌脚本设置值_Google Apps Script_Google Sheets_Google Sheets Custom Function - Fatal编程技术网

Google apps script 谷歌脚本设置值

Google apps script 谷歌脚本设置值,google-apps-script,google-sheets,google-sheets-custom-function,Google Apps Script,Google Sheets,Google Sheets Custom Function,我正在尝试学习如何使用谷歌脚本在谷歌电子表格中使用cell进行操作。我明白了 自定义函数返回值,但不能在其所在单元格之外设置值。在大多数情况下,单元格A1中的自定义函数无法修改单元格A5。但是,如果自定义函数返回双数组,则结果将溢出包含该函数的单元格,并填充包含自定义函数的单元格右下方的单元格。您可以使用包含return[[1,2]、[3,4]]的自定义函数来测试这一点 所以我调用了C14单元中的函数 function test(input){ var secondCell = Spread

我正在尝试学习如何使用谷歌脚本在谷歌电子表格中使用cell进行操作。我明白了

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

所以我调用了C14单元中的函数

function test(input){
  var secondCell = SpreadsheetApp.getActiveSheet().getRange("C14").setValue("Ahoj");
  return secondCell.getValue();
}
而且还是会出错

您没有调用setValue的权限

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

有人知道这为什么不起作用吗


编辑:

我读过可能的副本

但这并不能解决我的问题


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

您的代码毫无意义,您在C14中将值编程设置为“Ahoj”,然后获取这个已知变量,并尝试将其返回到您刚刚尝试将值设置为“Ahoj”的单元格中的set,这将替换您刚才用于运行此函数的函数。这几乎是一个悖论

如果造成混淆,您可以获得C14的值,但该函数不能在C14中调用,或者如果您想将C14的值设置为“Ahoy”,则在该函数中,您只需要:

function test(input){
  return 'Ahoj';
}
如果希望另一个单元格的值为C14,则:

function test(input){
  return SpreadsheetApp.getActiveSheet().getRange('C14').getValue();
}

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

完成的,因此函数setValue()是否在自定义函数中有任何用途?@user5264480否,但这只是使用应用程序脚本的几种方法之一。