Hapus kesalahan skrip pada entri formulir hari berikutnya

Saya menggunakan skrip berikut untuk menghapus entri formulir Google pada tengah malam setiap hari.

function clearRange() {
    var sheetActive = SpreadsheetApp.openById("1DNeHRC41ryRY9s8wZmlqmoIEhm8MqD601BvqoV26V3o").getSheetByName("Form responses 1");
    sheetActive.getRange('A2:E').clearContent();
}

Masalah:

  • Hari berikutnya, entri formulir ditambahkan ke lembar mulai dari baris di bawah entri hari sebelumnya, bukan baris 2.

Contoh:

  • Kemarin, 10 entri formulir dimasukkan pada lembar (baris 2 hingga 11). Script berjalan pada tengah malam dan menghapus entri.
  • Hari ini, lima entri telah dimasukkan pada formulir tetapi dimasukkan dari baris 12 dan seterusnya.

Saya memerlukan lembar tersebut untuk dibersihkan dan diatur ulang, untuk mulai memasukkan entri formulir di baris 2 setiap hari.

Apakah ini mungkin? Jika ya, perubahan apa yang diperlukan pada rumus tersebut? Terima kasih atas bantuan Anda.


person Terry Heath    schedule 25.08.2020    source sumber


Jawaban (1)


Larutan:

Coba hapus baris tersebut:

function clearRange() {
  const sheetActive = SpreadsheetApp.openById("1DNeHRC41ryRY9s8wZmlqmoIEhm8MqD601BvqoV26V3o").getSheetByName("Form responses 1");
  const form_size = sheetActive.getLastRow()-1;
  sheetActive.deleteRows(2, form_size);
}

Sebelum Anda mulai menggunakan solusi ini, hanya untuk pertama kalinya, hapus semua baris secara manual; dimulai dari baris kedua hingga baris sebelum entri baru akan ditambahkan. Jadi entri baru akan berada di baris kedua.

Rekomendasi:

Namun, tidak disarankan untuk menyentuh lembar Formulir tanggapan. Saya menyarankan Anda untuk membuat sheet terpisah untuk menanyakan hanya catatan hari ini dan membiarkan data mentah berada di sheet Formulir tanggapan. Dengan cara ini, Anda tidak perlu menghapus atau menghapus entri formulir yang lama, tetapi Anda juga tidak menyentuh data mentah yang mungkin bisa digunakan sebagai referensi di kemudian hari.

Referensi:

person soMario    schedule 25.08.2020