1

特定のシート(または可能であればすべてのシート)の最後の行に焦点を当てたいのでonOpen、シートでトリガーされる関数を次に示します。

function FocusLastRows() {
var spsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spsheet.getSheetByName("Usuelle_2013");
var rowInt = sheet.getLastRow();
var colInt = sheet.getLastColumn();
var range = sheet.getRange(rowInt, colInt)
sheet.setActiveRange(range)
}

このイベントは機能しますが、最初にロードされたシートが別のシートに焦点を合わせたい場合、他のシートにテレポートするだけです。.onOpenスプレッドシートに を設定することをお勧めします。

それは可能ですか?

4

2 に答える 2

0

これはかなり洗練されていませんが、アクティブ化されたシートが目的のシートであるかどうかだけを確認してみてはいかがでしょうか。このようなもの:

function FocusLastRows() {
var spsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spsheet.getSheetByName("Usuelle_2013");
  if (sheet == spsheet) {
    var rowInt = sheet.getLastRow();
    var colInt = sheet.getLastColumn();
    var range = sheet.getRange(rowInt, colInt);
    sheet.setActiveRange(range);
  }
}

Google Apps Script のドキュメントは、提供されたもの以外のトリガー イベントを取得するにはカスタム ライブラリが必要であることを示しているようです。また、特定の特定のシートがアクティブ化されたときにのみトリガーすることが原理的に可能であるかどうかもわかりません。

比較が次に簡単な解決策であるかどうかでシートをチェックすることを考えています。

于 2013-04-17T15:08:47.960 に答える