Google电子表格使用脚本打开最后编辑的单元格

时间:2013-12-12 10:06:36

标签: google-apps-script google-sheets

使用以下代码可以在重新打开Goog​​le电子表格时打开最后编辑的单元格。

function setTrigger() {
  var ss = SpreadsheetApp.getActive();
  ScriptApp.newTrigger("myFunction").forSpreadsheet(ss).onEdit().create();
}

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var sName = sheet.getName();
  var currentCell = sheet.getActiveCell().getA1Notation();
  UserProperties.setProperty("mySheetName", sName);
  UserProperties.setProperty("myCell", currentCell);
}

function onOpen() {
  var lastModifiedSheet = UserProperties.getProperty("mySheetName");
  var lastModifiedCell  = UserProperties.getProperty("myCell");
  SpreadsheetApp.getActiveSpreadsheet().getSheetByName(lastModifiedSheet).getRange(lastModifiedCell).activate();
}

我有一个

的单元格
=today()

哪些更新因此代码无法打开电子表格的最后一行,但会在使用today()更新的单元格中打开。

如何更新脚本以在电子表格最后一行中最后编辑的单元格中打开电子表格?

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var sName = sheet.getName();
  var currentCell = sheet.getActiveCell().getA1Notation();
  var temp = "";
  if (currentCell != "A1") {temp = currentCell;} 
 UserProperties.setProperty("mySheetName", sName);
  UserProperties.setProperty("myCell", temp);
}

我添加了一个临时变量,并在更新temp之前进行检查(假设只有A1具有today()函数)。似乎工作。