古いデータを削除するためにGoogleフォームからデータを収集するシートが必要です。このスクリプトはシートにありますが、新しいデータがフォームに追加されたときには実行されないようです。Googleフォームで古いデータ行を削除する
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("1054");
var datarange = sheet.getDataRange();
var lastrow = datarange.getLastRow();
var values = datarange.getValues();// get all data in a 2D array
var currentDate = new Date();
var oneweekago = new Date();
oneweekago.setDate(currentDate.getDate() - 7);
for (i=lastrow;i>=2;i--) {
var tempdate = values[i-1][0];
if(tempdate < oneweekago)
{
sheet.deleteRow(i);
}
と呼ばれるためにリンクされているシート私はフォームにappscript配置する必要がありますか?もしそうなら、それは何でしょうか?
"インストールする"と "フォーム送信時に"トリガーする必要があります。 'onEdit(e)'の名前を変更してください。 'onEdit()'は "予約された"関数名です。 "On Form Submit"トリガに予約された関数名を使用しないでください。それにあなた自身の一意の名前をつけてください。次に、コードエディタで[編集]メニューをクリックし、[現在のプロジェクトのトリガ]をクリックしてトリガを追加します。 –
私はシートにスクリプトを実行するフォームにスクリプトを置く必要がありますか?それ、どうやったら出来るの? –
フォームのスプレッドシートまたはその両方に "フォーム提出時"トリガを追加できます。 「On Form Submit」トリガーをスプレッドシートに追加する方が簡単です。データを取得する方が簡単です。コードをスプレッドシートに適用する場合は、より直接的な関係になります。コードエディタで「ヘルプ」を選択し、次に「ドキュメント」を選択します。単語「イベントオブジェクト」を検索します。 –