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
Google apps script 什么';Google应用程序脚本中getActiveCell和getCurrentCell的区别是什么?_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 什么';Google应用程序脚本中getActiveCell和getCurrentCell的区别是什么?

Google apps script 什么';Google应用程序脚本中getActiveCell和getCurrentCell的区别是什么?,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我已经把这些定义读了好几遍,但我仍然不明白其中的区别 getActiveCell:Range 摘要:返回此工作表中的活动单元格 说明:返回此工作表中的活动单元格 getCurrentCell:范围 摘要:返回活动工作表中的当前单元格,如果没有当前单元格,则返回null 说明:返回活动工作表中的当前单元格,如果没有当前单元格,则返回null。当前单元格是在Google Sheets UI中具有焦点的单元格,并以黑色边框突出显示。当前单元格从不超过一个。当用户选择一个或多个单元格范围时,选

我已经把这些定义读了好几遍,但我仍然不明白其中的区别

getActiveCell:Range

  • 摘要:返回此工作表中的活动单元格
  • 说明:返回此工作表中的活动单元格
getCurrentCell:范围

  • 摘要:返回活动工作表中的当前单元格,如果没有当前单元格,则返回null
  • 说明:返回活动工作表中的当前单元格,如果没有当前单元格,则返回null。当前单元格是在Google Sheets UI中具有焦点的单元格,并以黑色边框突出显示。当前单元格从不超过一个。当用户选择一个或多个单元格范围时,选择中的一个单元格就是当前单元格

getActiveCell的文档中有这样一个注释:(复制粘贴,包括语法错误)

最好使用getCurrentCell(),它返回当前高亮显示的单元格

这并不能使问题更清楚

回答:
getCurrentCell()
返回工作表UI中黑色边框显示的高亮显示单元格,而
getActiveCell()
返回选定范围的左上角

例子: 例如,假设您在工作表中突出显示了一个范围:
B2:E10
。在您单击
B2
并向下拖动到
E10
的情况下:

在脚本编辑器中运行以下代码:

function getCells() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1")
  console.log(sheet.getActiveCell().getA1Notation())
  console.log(sheet.getCurrentCell().getA1Notation())
}
您将在日志中看到
getActiveCell()
getCurrentCell()
返回
B2

但是,在相反的场景中,您单击
E10
并向上拖动到
B2

运行相同的代码后,您将看到
getActiveCell()
仍然返回
B2
,但现在
getCurrentCell()
返回
E10


我希望这对你有帮助

我认为这两个方法返回相同的值,并且可以以相同的方式使用。区别可能在于以下几点。以前在类工作表和类电子表格中添加了
getActiveCell()
方法。在类工作表和类电子表格中添加了
getCurrentCell()
方法。因此,每个方法的内部脚本可能会有所不同。@Tanaike它们可能不太一样。如果您选择了一个范围,则根据选择范围的方式。