2

2010 年 3 月 29 日、Jason Hale は、スプレッドシートのカーソル位置を使用して、作成中の Javascript アプリの電子メール アドレスを選択したいと考えました - http://productforums.google.com/forum/#!topic/apps-script/を参照してくださいU10q44vptPU . 回答者は、getActiveSelection および付随する getRowIndex/getColumnIndex メソッドを提案しました。残念ながら、それらは Hale では機能せず、2 年後に同様のアプリケーションを書きたいと思ったときにも機能しませんでした。カーソルの位置は、getRowIndex と getColumnIndex には影響しません。これらのメソッドは常に 1 を返します。これは役に立たず、おそらくバグです。Google Apps には、Python が提供するようなカーソル サービスがありません。このコンテキストで役立つ可能性のある Google Apps の戻り値を見つけた人はいますか?

4

2 に答える 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 に答える