找不到方法getActiveCell(string)

时间:2018-12-06 18:46:34

标签: google-sheets syntax-error

我正在尝试从下拉验证列表中选择工作表名称,然后单击图像以跳至该工作表。我使用了下面的脚本,但它给了我一个错误

  

“找不到方法getActiveCell(string)。”

function showSheetByName(Name) {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheetByName(ss.getActiveCell('R5').getValue());
    SpreadsheetApp.setActiveSheet();
};
上面脚本中的

R5代表下拉验证单元格,我可以在其中选择不同工作表的名称。

1 个答案:

答案 0 :(得分:0)

我以前没有使用过Google Spreadsheets,但是这个概念类似于Excel VBA(我已经使用过),因此我遇到了麻烦,您的问题是getActiveCell()没有使用单元格引用;它纯粹获取活动的单元格,您无法更改活动的单元格。因此,要使用您的代码,您首先需要使R5成为活动单元。我发现函数setActiveSelection可以做到这一点。下面的工作代码示例:

  var currentSheet = SpreadsheetApp.getActiveSheet();
  currentSheet.setActiveSelection("R5")
  var newSheetName = currentSheet.getActiveCell().getValue();
  ss.setActiveSheet(ss.getSheetByName(newSheetName));

您可以找到有关方法here的更多详细信息,您可能还想看看方法getRange,我怀疑您可以不必先进行操作即可获取'R5'的值激活细胞。