类表方法getActiveCell,getCurrentCell,getActiveRange无法按预期工作

时间:2019-06-11 15:09:17

标签: google-apps-script

我的电子表格有多个工作表,其中之一是“文件名”。希望获得一个特定的文件名,即当前选择的文件名。功能如下:

function getFileName (aSpreadsheet) {
  var aSheet=aSpreadsheet.getSheetByName('File Names');
  var sheetName = aSheet.getName();
  var aCell = aSheet.getActiveCell();
  var cellAddress = aCell.getA1Notation();
  var fileName = aCell.getValue();
  return fileName;
}

只要“文件名”页面当前处于活动状态,此代码就起作用。但是,如果当前有其他工作表处于活动状态,则它将返回活动表中活动单元格的值,而不是“文件名”表中所选单元格的值。正在获取正确的工作表; sheetName是“文件名”。不管我使用getActiveCell,getCurrentCell还是getActiveRange都没有关系,除非“文件名”是当前的活动工作表,否则它将不起作用。

1 个答案:

答案 0 :(得分:0)

尝试一下:

function getFileName (aSpreadsheet) {
  var aSpreadsheet=aSpreadsheet||SpreadsheetApp.getActive();//the default when aSpreadsheet is not defined by the parameter
  var aSheet=aSpreadsheet.getSheetByName('File Names');
  var sheetName=aSheet.getName();
  var aCell=aSheet.getActiveCell();
  var cellAddress=aCell.getA1Notation();
  var fileName=aCell.getValue();
  Logger.log(fileName);
  return fileName;
}