0
フォームを提出すると自動的にソートするGoogleシートを取得しようとしています。私は次のように並べ替えるためのスクリプトを設定することができましたが、スプレッドシートを手動で編集するときにのみ機能します(新しいデータがフォームから入力されたときではありません)。フォームを送信するたびにトリガーを使用してシートをソートする
function onEdit(event){
var sheet = event.source.getActiveSheet();
var editedCell = sheet.getActiveCell();
var columnToSortBy = 6;
var tableRange = "A2:F100";
if(editedCell.getColumn() == columnToSortBy){
var tableRange = "A2:F100";
if(editedCell.getColumn() == columnToSortBy){
var range = sheet.getRange(tableRange);
range.sort({ column : columnToSortBy });
}
}
フォームを送信するときにこれを行うには、トリガーを設定する必要があります。私はGoogleの開発者にこれを見つけたが、私は次のように(「MyFunctionを」)として使用するかわからないんだけど:
var sheet = SpreadsheetApp.getActive();
ScriptApp.newTrigger("myFunction")
.forSpreadsheet(sheet)
.onFormSubmit()
.create();
これはどのようなOPよりも優れています頼んでいた文字通りそうするために、 'myFunction'を' onEdit'に置き換えることができるので、フォーム提出物*は 'onEdit'を模倣します。 – Jonathon
ありがとうございます。これでうまくいきましたが、ヘッダー行も同様にソートされています。私はどうすればそれが起こらないように書くことができますか? –
@ Ms.Browne Edited –