GoogleSheets ApsScript ReferenceError: ADDRESS is not definedDetails

时间:2021-03-11 10:38:57

标签: google-apps-script google-sheets

在下面的代码片段中有一个非常简单的代码。 当我尝试使用它时,我得到了

<块引用>

ReferenceError: ADDRESS is not defined 错误。

如果有人能阐明这个问题,我将不胜感激。

function temp() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange(ADDRESS(15,D1)).activate;
};

1 个答案:

答案 0 :(得分:2)

问题 1:

  • ADDRESS 是 Google 表格功能,但您正尝试在 Google Apps 脚本中使用它。

后者不接受谷歌表格公式。它有自己的 documentation,并且只支持 JavaScript

问题 2:

要以任何编程语言执行函数,您需要在函数末尾添加括号。将 activate 替换为 activate()

解决方案:

您很可能想要获取单元格 D15 的范围。如果是这种情况,那么只需执行以下操作:

function temp() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('D15').activate();
};

请记住,这仅适用于活动工作表(当前选择的工作表)。如果您想按名称选择特定工作表,请执行此操作并将 Sheet1 更改为您选择的工作表名称:

function temp() {
  var spreadsheet = SpreadsheetApp.getActive();
  var sheet = spreadsheet.getSheetByName('Sheet1') // put the sheet name of your choice
  sheet.getRange('D15').activate();
};

根据您的评论更新答案:

假设单元格 D15 包含您要激活的单元格的单元格引用,然后执行此操作:

function temp() {
  var spreadsheet = SpreadsheetApp.getActive();
  var sheet = spreadsheet.getSheetByName('Sheet1') // put the sheet name of your choice
  sheet.getRange(sheet.getRange('D15').getValue()).activate();
};

或基于您的原始代码:

function temp() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange(spreadsheet.getRange('D15').getValue()).activate();
};