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/4/algorithm/12.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 - Fatal编程技术网

Google apps script 如何隔离范围对象?

Google apps script 如何隔离范围对象?,google-apps-script,Google Apps Script,事实上有两个问题: 我试图理解Range对象以及如何在脚本计算中“脱离spreradsheet.app”。 下面是一个示例:我尝试在第一个“警报”之前从电子表格中获取一次“A1”范围对象,而不是永久对象。 怎么办 function myFunction() { SpreadsheetApp.getActiveSheet().getRange("a1").setBackground("blue") SpreadsheetApp.getActiveSh

事实上有两个问题:
我试图理解Range对象以及如何在脚本计算中“脱离spreradsheet.app”。
下面是一个示例:我尝试在第一个“警报”之前从电子表格中获取一次“A1”范围对象,而不是永久对象。
怎么办

function myFunction() {
  SpreadsheetApp.getActiveSheet().getRange("a1").setBackground("blue")
  SpreadsheetApp.getActiveSheet().getRange("a1").setValue("blabla")
  const toto = SpreadsheetApp.getActiveSheet().getRange("a1")

var pos = toto.getA1Notation()
var col = toto.getBackground()

  SpreadsheetApp.getUi().alert("you have pos : "+pos+" and col "+col)
  
  SpreadsheetApp.getActiveSheet().getRange("a1").setBackground("orange")

  var col = toto.getBackground()
    SpreadsheetApp.getUi().alert("you have pos : "+pos+" and col "+col)
}
即使我说toto是常量,第二列也会变成“橙色”,我不想这样

编辑:
在注释之后,range对象更像是一个“位置”,它可以跟随并更改用它构建的变量(甚至常量),而不是我可以用来创建变量的“对象”。

那么,我如何切断这个范围和变量之间的联系呢?谢谢^ ^

根据谷歌应用程序脚本关于Range类的文档:

范围可以是图纸中的单个单元格,也可以是图纸中的一组相邻单元格

无法将范围与电子表格分开,因为范围是特定于范围类的对象,该范围类是电子表格应用程序的子类

因此,仅仅因为您将它分配给一个
常量
,并不意味着它不会改变;这是因为范围不是一个值,而
const
用于定义对值的常量引用

如果不想更改属于
A1
单元格的单元格颜色,只需删除这行代码:

SpreadsheetApp.getActiveSheet().getRange("a1").setBackground("orange");
参考文献
  • )


我不知道你想要达到什么目的。对我来说似乎没用。又是库珀!^^我尝试从电子表格中获取一次数据,在“脚本”中进行更改,然后将其应用于电子表格。为此,我试图完全理解范围对象(找不到详细的文档)。特别是在这里,我无法忍受常数的变化……范围不返回值,只是一个位置或一个位置数组。