2010 年 3 月 29 日,Jason Hale 想使用电子表格光标位置为他正在编写的 Javascript 应用程序选择一个电子邮件地址 - 请参阅http://productforums.google.com/forum/#!topic/apps-script/ U10q44vptPU。受访者建议使用 getActiveSelection 和伴随的 getRowIndex/getColumnIndex 方法。不幸的是,他们没有为 Hale 工作,两年后当我想编写一个类似的应用程序时,他们也没有为我工作。光标的位置对 getRowIndex 和 getColumnIndex 没有影响。这些方法总是返回 1,这是无用的,可能是一个错误。Google Apps 缺少 Python 提供的光标服务。有没有人发现 Google Apps 返回的任何内容在这种情况下可能有用?
问问题
17741 次
2 回答
7
您是否尝试过像这样的简单功能?
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);
}
于 2012-06-10T06:13:20.983 回答
7
The following code works for me. It prompts me with the row number of my current position in the spreaadsheet:
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());
}
于 2012-06-10T06:15:19.033 回答