使用 Apps 脚本在 Google 文档中的选定表格上追加新行

Append a New Row on selected Tables in Google Docs with Apps Script

我有一个 Google 文档,其中有 4 table 个,每个 table 包含:编号、日期、会话、名称、Class 年份和部门.

因此,每当提交任何新的 google 表单时,它都会根据受访者选择的部门和日期更新并查找文档和 table。所以脚本已经能够找到文档并根据日期填充 table,但问题是它在第二天 table 附加了箭头。例子:受访者选择的日期是05/02/2021,那么应该也加上05/02/2021table对吧?而不是 06/02/2021。

Google Docs tables (before)

Google Docs tables (after a new response)

function appendTable(){
    if (pilihan1 == 'Advokasi dan Kesejahteraan Mahasiswa (ADVOKESMA)'){
      var range = bodyJadwalAdvo.findText(screening);
      var searchElement = bodyJadwalAdvo.findElement(DocumentApp.ElementType.TABLE, range);
    } else if (pilihan1 == 'Pengembangan Sumber Daya Mahasiswa (PSDM)'){
      var range = bodyJadwalPsdm.findText(screening);
      var searchElement = bodyJadwalPsdm.findElement(DocumentApp.ElementType.TABLE, range);
    } else if (pilihan1 == 'Informasi dan Komunikasi (INFOKOM)'){
      var range = bodyJadwalInfokom.findText(screening);
      var searchElement = bodyJadwalInfokom.findElement(DocumentApp.ElementType.TABLE, range);
    } else if (pilihan1 == 'Sosial Masyarakat (SOSMA)'){
      var range = bodyJadwalSosma.findText(screening);
      var searchElement = bodyJadwalSosma.findElement(DocumentApp.ElementType.TABLE, range);
    } else if (pilihan1 == 'Bisnis'){
      var range = bodyJadwalSosma.findText(screening);
      var searchElement = bodyJadwalSosma.findElement(DocumentApp.ElementType.TABLE, range);
    }
    element = searchElement.getElement();
    table = element.asTable();
    var tr = table.appendTableRow();
    
    function replaceBodyJadwal(depart){
      if(screening == '05/02/2021'){
        depart.replaceText('{{TanggalA}}', screening);
        depart.replaceText('{{NamaLengkapA}}', namaLengkap);
        depart.replaceText('{{AngkatanA}}', angkatan);
        depart.replaceText('{{Pilihan2A}}', pilihan2);
        tr.appendTableCell(" ");
        tr.appendTableCell("{{TanggalA}}");
        tr.appendTableCell(" ");
        tr.appendTableCell("{{NamaLengkapA}}");
        tr.appendTableCell("{{AngkatanA}}");
        tr.appendTableCell("{{Pilihan2A}}");
      } else if (screening == '06/02/2021'){
        depart.replaceText('{{TanggalB}}', screening);
        depart.replaceText('{{NamaLengkapB}}', namaLengkap);
        depart.replaceText('{{AngkatanB}}', angkatan);
        depart.replaceText('{{Pilihan2B}}', pilihan2);
        tr.appendTableCell(" ");
        tr.appendTableCell("{{TanggalB}}");
        tr.appendTableCell(" ");
        tr.appendTableCell("{{NamaLengkapB}}");
        tr.appendTableCell("{{AngkatanB}}");
        tr.appendTableCell("{{Pilihan2B}}");
      }  else if (screening == '07/02/2021'){
        depart.replaceText('{{TanggalC}}', screening);
        depart.replaceText('{{NamaLengkapC}}', namaLengkap);
        depart.replaceText('{{AngkatanC}}', angkatan);
        depart.replaceText('{{Pilihan2C}}', pilihan2);
        tr.appendTableCell(" ");
        tr.appendTableCell("{{TanggalC}}");
        tr.appendTableCell(" ");
        tr.appendTableCell("{{NamaLengkapC}}");
        tr.appendTableCell("{{AngkatanC}}");
        tr.appendTableCell("{{Pilihan2C}}");
      }  else if (screening == '08/02/2021'){
        depart.replaceText('{{TanggalD}}', screening);
        depart.replaceText('{{NamaLengkapD}}', namaLengkap);
        depart.replaceText('{{AngkatanD}}', angkatan);
        depart.replaceText('{{Pilihan2D}}', pilihan2);
        tr.appendTableCell(" ");
        tr.appendTableCell("{{TanggalD}}");
        tr.appendTableCell(" ");
        tr.appendTableCell("{{NamaLengkapD}}");
        tr.appendTableCell("{{AngkatanD}}");
        tr.appendTableCell("{{Pilihan2D}}");
      }
    }
    if (pilihan1 == 'Advokasi dan Kesejahteraan Mahasiswa (ADVOKESMA)'){
      replaceBodyJadwal(bodyJadwalAdvo); 
    } else if (pilihan1 == 'Pengembangan Sumber Daya Mahasiswa (PSDM)'){
      replaceBodyJadwal(bodyJadwalPsdm);
    } else if (pilihan1 == 'Informasi dan Komunikasi (INFOKOM)'){
      replaceBodyJadwal(bodyJadwalInfokom);
    } else if (pilihan1 == 'Sosial Masyarakat (SOSMA)'){
      replaceBodyJadwal(bodyJadwalSosma);
    } else if (pilihan1 == 'Bisnis'){
      replaceBodyJadwal(bodyJadwalBisnis);
    } 
  }

已解决。

function cariTabel(bodyJadwalDepartemen){
      if(screening=='05/02/2021'){
        screeningJadwal=null;
        var range = null;
      } else {
          if(screening=='06/02/2021'){
            screeningJadwal='05/02/2021';
          } else if(screening=='07/02/2021'){
            screeningJadwal='06/02/2021';
          } else if(screening=='08/02/2021'){
            screeningJadwal='07/02/2021';
          }
          var range = bodyJadwalDepartemen.findText(screeningJadwal);
      }     
      searchElement = bodyJadwalDepartemen.findElement(DocumentApp.ElementType.TABLE, range);
    }