サービスエラー:Spreadsheets(service error:Spreadsheets)の原因
例えば、セルを編集した際に自動的に並べ替えたいとすると、以下のようなscriptになると思います。
onEdit()は、セルを編集した際に実行される。
実行されるscriptは、範囲(A1~G1000)をカラムAを基に昇順で並び替えるというもの。
これで、問題なく動作します。
/**
* Automatically sorts the 1st column (not the header row) Ascending.
*/
function onEdit(event){
var sheet = event.source.getActiveSheet();
var editedCell = sheet.getActiveCell();
var columnToSortBy = 1; // column A
var tableRange = "A1:G1000"; // What to sort.
if(editedCell.getColumn() == columnToSortBy){
var range = sheet.getRange(tableRange);
range.sort( { column : columnToSortBy, ascending: true } );
}
}
* Automatically sorts the 1st column (not the header row) Ascending.
*/
function onEdit(event){
var sheet = event.source.getActiveSheet();
var editedCell = sheet.getActiveCell();
var columnToSortBy = 1; // column A
var tableRange = "A1:G1000"; // What to sort.
if(editedCell.getColumn() == columnToSortBy){
var range = sheet.getRange(tableRange);
range.sort( { column : columnToSortBy, ascending: true } );
}
}
onEdit()は、セルを編集した際に実行される。
実行されるscriptは、範囲(A1~G1000)をカラムAを基に昇順で並び替えるというもの。
これで、問題なく動作します。
サービスエラー:Spreadsheetsがでて動かない原因
原因はいろいろあるようだが、私の場合の原因は”行の削除”を行ったことだった。
以下のような場合には、エラーが出るようです。
テーブル内に行が1100行あった場合、
↓
行を101行削除する
↓
結果、テーブル内に表示されている行が999行になる
↓
tableRange = "A1:G1000"を指定しても、現在のテーブル内にあるのは999行ということで『サービスエラー:Spreadsheets』が発生する模様。
なもんで、範囲を現在ある行数以内で修正したところ、エラーは出なくなった。
なもんで、範囲を現在ある行数以内で修正したところ、エラーは出なくなった。
エラーが出ないケース
試しに、100行しか表示されていないテーブルに新たにスクリプトを作成しtableRange = "A1:G1000"を指定してもエラーは出なかった。
どうやら、あくまでもスクリプトを設定した段階の範囲指定値が、行の削除によって行がみたなくなってしまう場合に発生する。のかも。
コメント
コメントを投稿