通过Javascript方法从Google电子表格中获取光标行/列

通过Javascript方法从Google电子表格中获取光标行/列,javascript,google-apps-script,google-sheets,google-spreadsheet-api,Javascript,Google Apps Script,Google Sheets,Google Spreadsheet Api,2010年3月29日,Jason Hale希望使用电子表格光标位置为他正在编写的Javascript应用程序选择电子邮件地址-请参阅。受访者建议使用getActiveSelection和相应的getRowIndex/getColumnIndex方法。不幸的是,他们没有为Hale工作,两年后当我想写一个类似的应用程序时,他们也没有为我工作。光标的位置对getRowIndex和getColumnIndex没有影响。这些方法总是返回1,这是无用的,可能是一个bug。 谷歌应用缺少Python提供的游标

2010年3月29日,Jason Hale希望使用电子表格光标位置为他正在编写的Javascript应用程序选择电子邮件地址-请参阅。受访者建议使用getActiveSelection和相应的getRowIndex/getColumnIndex方法。不幸的是,他们没有为Hale工作,两年后当我想写一个类似的应用程序时,他们也没有为我工作。光标的位置对getRowIndex和getColumnIndex没有影响。这些方法总是返回1,这是无用的,可能是一个bug。
谷歌应用缺少Python提供的游标服务。有人发现谷歌应用程序返回的任何东西在这种情况下可能有用吗?

你有没有尝试过这样一个简单的功能

function getRCposition(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var cell = ss.getActiveCell();
  var R = cell.getRow();
  var C = cell.getColumn();
  Browser.msgBox('Row = '+R+' and Col = '+C);
  }
或者像这样的更“通用”的功能:

function getposition(){
   var sh = SpreadsheetApp.getActiveSheet();
   var ss = SpreadsheetApp.getActiveSpreadsheet();
  var range = ss.getActiveRange();
  var R = range.getRowIndex();
  var C = range.getColumnIndex();
  var W = range.getWidth();
  var H = range.getHeight();
  var A1not = range.getA1Notation();
  Browser.msgBox('Row = '+R+' / Col = '+C+' Width = '+W+'  / Heigth = '+H+'  A1 notation = '+A1not);
  }

下面的代码适合我。它会提示我在SpreadSheet中当前位置的行号:

function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var menuEntries = [ {name: "Test1", functionName: "menuItem1"}];
  ss.addMenu("Tests", menuEntries);
}

function menuItem1() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  Browser.msgBox("You have selected row " + ss.getActiveCell().getRow());
}

这些帖子回答了你的问题吗?如果是,请使用“勾选”选项将该回答标记为答案。如果没有,您应该编辑您的问题并加以澄清,以便有机会给您一个更好的答案。为什么要为
var range=ss.getActiveCell()创建一个变量,然后不将其用于
Browser.msgBox(“您已选择行”+ss.getActiveCell().getRow())?您可以说
range.getRow()