私は他の教師が生徒の進捗状況を簡単に追跡できるようにシステムを作成しています。私は各学生のための個々のシートとすべての学生の概要のためのシートのスプレッドシートを持っています。スプレッドシートは、それに接続されている次のスクリプトがあります:「概要」シートでGoogle Appsスクリプトが正しく更新されない
function SheetNames() {
try {
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets()
var out = new Array(sheets.length+1) ;
for (var i = 1 ; i < sheets.length ; i++) {
out[i] = [sheets[i-1].getName()];
}
return out
}
catch(err) {
return "#ERROR!"
}
}
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Student List')
.addItem('Update Student List', 'SheetNames')
.addToUi();
}
を、私はちょうど=SheetNames()
を含むセルを持っています。最初にカスタム関数を入力すると、リストが生成されます。スプレッドシートを開くと、メニューが追加されます。ただし、メニュー項目をクリックすると、「概要」シートの生徒のリストは更新されません。この機能を自動的に更新させるための方法はありますか?
'SpreadsheetApp.flush()'を下部の 'SheetNames()'関数に追加することができます。 [Apps Script documentation](https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#flush) –
@SandyGoodそれは、まだ運がないことを試しました。私はまた、 'onEdit()'という関数の名前をつけて、編集ごとに自動更新させてみました。時間ベースのイベントトリガーで追加しようとしました。私はこの事を自動的に更新することはできません。 –